Как создавать и объединять PDF-файлы в командной строке Linux

Опубликовано: 2022-09-24
Джейн Келли/Shutterstock.com

Файлы PDF были разработаны для содействия совместному использованию. Каждый может открыть их — в своем веб-браузере, если у него нет ничего другого. Linux позволяет управлять, объединять и разделять файлы PDF в командной строке.

Оглавление

Портативный формат документа
Создание PDF-файлов в Linux
Команда qpdf
Объединение PDF-файлов
Разделение файлов PDF
Вращающиеся страницы
Шифрование и дешифрование
qpdf — отличный инструмент

Портативный формат документа

Portable Document Format (PDF) решил проблему. Когда вы создавали документ на компьютере и хотели поделиться им с кем-то еще, отправить им документ не всегда получалось.

Даже если у них был тот же программный пакет, который вы использовали для создания документа, на их компьютерах могли быть установлены другие шрифты, которые были у вас на вашем. Они смогут открыть документ, но он будет выглядеть неправильно.

Как установить шрифты Google и Microsoft в Linux
СВЯЗАННЫЕ Как установить шрифты Google и Microsoft в Linux

Если бы у них не было копии программного обеспечения, которое вы использовали для создания пакета, они вообще не смогли бы его открыть. Если вы использовали программное обеспечение, доступное только для Linux, бессмысленно отправлять этот документ тому, кто использует только Windows.

Adobe создала новый формат файла в 1992 году и назвала его переносимым форматом документа. Документы, созданные в соответствии с этим стандартом — ISO 32000 — содержат изображения и шрифты, необходимые для правильного отображения содержимого файла. Файлы PDF можно открывать в программах просмотра PDF на любой платформе. Это было кросс-платформенное, простое и элегантное решение.

Файл PDF не предназначен для гибкости, как документ текстового процессора. Они не легко поддаются редактированию. Если вам нужно изменить содержимое PDF-файла, всегда лучше вернуться к исходному материалу, отредактировать его и создать новый PDF-файл. В отличие от попыток изменить содержимое, структурные манипуляции с PDF-файлами можно выполнять относительно легко.

Вот несколько способов создания PDF-файлов в Linux и способы выполнения некоторых преобразований, которые можно к ним применить.

Создание PDF-файлов в Linux

Многие приложения, доступные в Linux, могут напрямую создавать PDF-файлы. В LibreOffice прямо на панели инструментов есть кнопка, которая создает PDF-файл текущего документа. Это не может быть проще.

Кнопка LibreOffice Writer PDF

Приложение Scribus для настольных издательских систем не имеет себе равных в тонком управлении созданием PDF-файлов.

Если вам нужно создавать документы научного или математического содержания, возможно, для отправки в академические журналы, вам идеально подойдет приложение, использующее LaTeX, такое как Texmaker.

Как использовать pandoc для преобразования файлов в командной строке Linux
СВЯЗАННЫЕ Как использовать pandoc для преобразования файлов в командной строке Linux

Если вы предпочитаете обычный текстовый рабочий процесс, возможно, используя Markdown, вы можете использовать pandoc для преобразования в и из множества форматов файлов, включая PDF. У нас есть руководство, посвященное pandoc , но простой пример покажет вам, насколько легко им пользоваться.

Сначала установите Texmaker. pandoc использует некоторые библиотеки LaTeX для создания PDF. Установка Texmaker — удобный способ удовлетворить эти зависимости.

Параметр -o (выходной) используется для указания типа файла, который будет создан. Файл «raw-notes.md» представляет собой обычный текстовый файл Markdown.

 pandoc -o new.pdf raw-notes.md 

Использование pandoc для создания PDF-файла из файла Markdown

Если мы откроем файл «new.pdf» в программе просмотра PDF, мы увидим, что это правильно сформированный PDF.

Открытие PDF, созданного pandoc

Команда qpdf

Команда qpdf позволяет вам манипулировать существующими файлами PDF, сохраняя при этом их содержимое. Изменения, которые вы можете внести, являются структурными . С помощью qpdf вы можете выполнять такие задачи, как объединение PDF-файлов, извлечение страниц, поворот страниц, а также установка и удаление шифрования.

Чтобы установить qpdf в Ubuntu, используйте эту команду:

 sudo apt установить qpdf 

Установка qpdf в Ubuntu

Команда в Fedora:

 sudo dnf установить qpdf 

Установка qpdf в Fedora

В Manjaro вы должны ввести:

 sudo pacman -S qpdf 

Установка qpdf на Manjaro

Объединение PDF-файлов

Сначала синтаксис командной строки qpdf может показаться запутанным. Например, многие команды ожидают входной файл PDF.

Если команда не требует этого, вместо этого вам нужно использовать параметр --empty . Это говорит qpdf не ожидать входной файл. Опция --pages позволяет вам выбирать страницы. Если вы просто укажете имена PDF, будут использованы все страницы.

Чтобы объединить два файла PDF в новый файл PDF, используйте этот формат команды.

 qpdf --пусто --pages первый.pdf второй.pdf -- объединенный.pdf 

Объединение двух файлов PDF для создания нового файла PDF

Эта команда состоит из:

  • qpdf : вызывает команду qpdf .
  • --empty : сообщает qpdf , что входного PDF-файла нет. Вы можете возразить, что «first.pdf» и «second.pdf» являются входными файлами, но qpdf считает их параметрами командной строки.
  • --pages : Сообщает qpdf , что мы будем работать со страницами.
  • first.pdf second.pdf : два файла, из которых мы собираемся извлечь страницы. Мы не использовали диапазоны страниц, поэтому будут использоваться все страницы.
  • : указывает конец параметров команды.
  • комбинированный.pdf : имя PDF-файла, который будет создан.

Если мы ищем PDF-файлы с помощью ls , мы увидим два наших исходных файла — нетронутых — и новый PDF-файл с именем «combined.pdf».

 ls -hl первый.pdf второй.pdf комбинированный.pdf 

Использование ls для вывода списка существующих и новых PDF-файлов

В файле «first.pdf» есть две страницы, а в файле «second.pdf» — одна страница. Новый PDF-файл состоит из трех страниц.

Новый файл PDF содержит все страницы из двух исходных файлов PDF.

Вы можете использовать подстановочные знаки вместо перечисления большого количества исходных файлов. Эта команда создает новый файл с именем «all.pdf», который содержит все файлы PDF в текущем каталоге.

 qpdf --empty --pages *.pdf -- all.pdf 

Использование подстановочных знаков в командной строке qpdf

Мы можем использовать диапазоны страниц, добавляя номера страниц или диапазоны после имен файлов, из которых должны быть извлечены страницы.

Это позволит извлечь первую и вторую страницы из «first.pdf» и вторую страницу из «second.pdf». Обратите внимание, что если файл «combined.pdf» уже существует, он не перезаписывается. К нему добавлены выбранные страницы.

 qpdf --empty --pages первая.pdf 1-2 вторая.pdf 1 -- объединенная.pdf 

Использование диапазонов страниц для выбора страниц для добавления в новый файл

Диапазоны страниц могут быть настолько подробными, насколько вам нравится. Здесь мы запрашиваем очень конкретный набор страниц из большого PDF-файла и создаем итоговый PDF-файл.

 qpdf --пусто --pages large.pdf 1-3,7,11,18-21,55 -- резюме.pdf 

Использование сложного набора диапазонов страниц

Выходной файл «summary.pdf» содержит страницы с 1 по 3, 7, 11, с 18 по 21 и 55 из входного файла PDF. Это означает, что в файле «summary.pdf» 10 страниц.

Страница 10 нового PDF — это страница 55 из исходного файла.

Мы видим, что страница 10 — это страница 55 из исходного PDF.

Разделение файлов PDF

Противоположностью объединению файлов PDF является разделение файлов PDF. Чтобы разделить PDF-файл на отдельные PDF-файлы, каждый из которых содержит одну страницу, синтаксис прост.

Файл, который мы разделяем, называется «summary.pdf», а выходной файл имеет имя «page.pdf». Это используется в качестве базового имени. Каждый новый файл имеет номер, добавленный к базовому имени. Опция --split-pages сообщает qpdf какой тип действия мы выполняем.

 qpdf summary.pdf page.pdf --split-pages 

Разделение PDF-файла на несколько PDF-файлов по одной странице в каждом

Результатом является серия последовательно пронумерованных PDF-файлов.

 страница*.pdf 

используя ls для перечисления пронумерованных файлов PDF

Если вы не хотите разделять каждую страницу, используйте диапазоны страниц, чтобы выбрать нужные страницы.

Если мы выполним эту следующую команду, мы разделим набор одностраничных PDF-файлов. Диапазоны страниц используются для указания нужных страниц или диапазонов, но каждая страница по-прежнему хранится в одном PDF-файле.

 qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 ---split-pages 

Разделение PDF с диапазонами страниц

Извлеченные страницы имеют имена на основе «section.pdf» с добавленным к ним порядковым номером.

 раздел *.pdf 

используя ls для перечисления пронумерованных файлов PDF

Если вы хотите извлечь диапазон страниц и сохранить его в одном PDF-файле, используйте команду этой формы. Обратите внимание, что мы не включаем параметр --split-pages . По сути, то, что мы здесь делаем, — это слияние PDF, но мы только «объединяем» страницы из одного исходного файла.

 qpdf --empty --pages large.pdf 8-13 -- Chapter2.pdf 

Извлечение диапазона страниц из файла PDF и их сохранение в одном новом файле PDF

При этом создается один многостраничный PDF-файл с именем «chapter2.pdf».

Вращающиеся страницы

Чтобы повернуть страницу, мы создаем новый PDF-файл, такой же, как исходный PDF-файл с повернутой указанной страницей.

Для этого мы используем параметр --rotate . +90 означает поворот страницы на 90 градусов по часовой стрелке. Вы можете повернуть страницу на 90, 180 или 270 градусов. Вы также можете указать вращение в градусах против часовой стрелки, используя отрицательное число, но в этом нет необходимости. Поворот на -90 такой же, как и на +270.

Число, отделенное от поворота двоеточием « : », — это номер страницы, которую вы хотите повернуть. Это может быть список номеров страниц и диапазонов страниц, но мы просто чередуем первую страницу. Чтобы повернуть все страницы, используйте диапазон страниц 1-z .

 qpdf --rotate=+90:1 summary.pdf rotated1.pdf 

Поворот первой страницы PDF

Первая страница была повернута для нас.

PDF-файл с первой страницей, повернутой на 90 градусов по часовой стрелке.

Шифрование и дешифрование

PDF-документы могут быть зашифрованы, чтобы для их открытия требовался пароль. Этот пароль называется паролем пользователя . Есть еще один пароль, который требуется для изменения настроек безопасности и других разрешений для PDF. Он называется паролем владельца .

Чтобы зашифровать PDF-файл, нам нужно использовать параметр --encrypt и указать оба пароля. Пароль пользователя идет первым в командной строке.

Мы также указываем силу шифрования для использования. Вам нужно всего лишь перейти с 256-битного шифрования на 128-битное, если вы хотите поддерживать очень старые программы просмотра PDF-файлов. Мы рекомендуем вам придерживаться 256-битного шифрования.

Мы собираемся создать зашифрованную версию «summary.pdf» под названием «secret.pdf».

 qpdf --encrypt hen.rat.squid goose.goat.gibbon 256 -- summary.pdf secret.pdf 

Создание зашифрованного PDF

Когда мы пытаемся открыть PDF, программа просмотра PDF запрашивает пароль. Ввод пароля пользователя разрешает программе просмотра открыть файл.

Средство просмотра PDF запрашивает пароль для открытия зашифрованного файла PDF.

Помните, что qpdf не изменяет существующий PDF. Он создает новый с изменениями, которые мы попросили его внести. Поэтому, если вы создадите зашифрованный PDF-файл, у вас все равно будет исходная незашифрованная версия. В зависимости от ваших обстоятельств вы можете удалить исходный PDF-файл или безопасно сохранить его.

Чтобы расшифровать файл, используйте параметр --decrypt . Очевидно, что вы должны знать пароль владельца , чтобы это работало. Нам нужно использовать параметр --password для идентификации пароля.

 qpdf --decrypt --password=goose.goat.gibbon secret.pdf разблокированный.pdf 

Создание расшифрованного PDF из зашифрованного PDF

«Unlocked.pdf» можно открыть без пароля.

qpdf — отличный инструмент

Мы глубоко впечатлены qpdf . Он предоставляет гибкий и многофункциональный набор инструментов для работы с файлами PDF. И это тоже очень быстро.

Ознакомьтесь с их хорошо написанной и подробной документацией, чтобы увидеть, насколько больше он может сделать.