Как создавать и объединять PDF-файлы в командной строке Linux
Опубликовано: 2022-09-24Файлы PDF были разработаны для содействия совместному использованию. Каждый может открыть их — в своем веб-браузере, если у него нет ничего другого. Linux позволяет управлять, объединять и разделять файлы PDF в командной строке.
Портативный формат документа
Создание PDF-файлов в Linux
Команда qpdf
Объединение PDF-файлов
Разделение файлов PDF
Вращающиеся страницы
Шифрование и дешифрование
qpdf — отличный инструмент
Портативный формат документа
Portable Document Format (PDF) решил проблему. Когда вы создавали документ на компьютере и хотели поделиться им с кем-то еще, отправить им документ не всегда получалось.
Даже если у них был тот же программный пакет, который вы использовали для создания документа, на их компьютерах могли быть установлены другие шрифты, которые были у вас на вашем. Они смогут открыть документ, но он будет выглядеть неправильно.
Если бы у них не было копии программного обеспечения, которое вы использовали для создания пакета, они вообще не смогли бы его открыть. Если вы использовали программное обеспечение, доступное только для Linux, бессмысленно отправлять этот документ тому, кто использует только Windows.
Adobe создала новый формат файла в 1992 году и назвала его переносимым форматом документа. Документы, созданные в соответствии с этим стандартом — ISO 32000 — содержат изображения и шрифты, необходимые для правильного отображения содержимого файла. Файлы PDF можно открывать в программах просмотра PDF на любой платформе. Это было кросс-платформенное, простое и элегантное решение.
Файл PDF не предназначен для гибкости, как документ текстового процессора. Они не легко поддаются редактированию. Если вам нужно изменить содержимое PDF-файла, всегда лучше вернуться к исходному материалу, отредактировать его и создать новый PDF-файл. В отличие от попыток изменить содержимое, структурные манипуляции с PDF-файлами можно выполнять относительно легко.
Вот несколько способов создания PDF-файлов в Linux и способы выполнения некоторых преобразований, которые можно к ним применить.
Создание PDF-файлов в Linux
Многие приложения, доступные в Linux, могут напрямую создавать PDF-файлы. В LibreOffice прямо на панели инструментов есть кнопка, которая создает PDF-файл текущего документа. Это не может быть проще.
Приложение Scribus для настольных издательских систем не имеет себе равных в тонком управлении созданием PDF-файлов.
Если вам нужно создавать документы научного или математического содержания, возможно, для отправки в академические журналы, вам идеально подойдет приложение, использующее LaTeX, такое как Texmaker.
Если вы предпочитаете обычный текстовый рабочий процесс, возможно, используя Markdown, вы можете использовать pandoc
для преобразования в и из множества форматов файлов, включая PDF. У нас есть руководство, посвященное pandoc
, но простой пример покажет вам, насколько легко им пользоваться.
Сначала установите Texmaker. pandoc
использует некоторые библиотеки LaTeX для создания PDF. Установка Texmaker — удобный способ удовлетворить эти зависимости.
Параметр -o
(выходной) используется для указания типа файла, который будет создан. Файл «raw-notes.md» представляет собой обычный текстовый файл Markdown.
pandoc -o new.pdf raw-notes.md
Если мы откроем файл «new.pdf» в программе просмотра PDF, мы увидим, что это правильно сформированный PDF.
Команда qpdf
Команда qpdf
позволяет вам манипулировать существующими файлами PDF, сохраняя при этом их содержимое. Изменения, которые вы можете внести, являются структурными . С помощью qpdf
вы можете выполнять такие задачи, как объединение PDF-файлов, извлечение страниц, поворот страниц, а также установка и удаление шифрования.
Чтобы установить qpdf
в Ubuntu, используйте эту команду:
sudo apt установить qpdf
Команда в Fedora:
sudo dnf установить qpdf
В Manjaro вы должны ввести:
sudo pacman -S qpdf
Объединение PDF-файлов
Сначала синтаксис командной строки qpdf
может показаться запутанным. Например, многие команды ожидают входной файл PDF.
Если команда не требует этого, вместо этого вам нужно использовать параметр --empty
. Это говорит qpdf
не ожидать входной файл. Опция --pages
позволяет вам выбирать страницы. Если вы просто укажете имена PDF, будут использованы все страницы.
Чтобы объединить два файла PDF в новый файл PDF, используйте этот формат команды.
qpdf --пусто --pages первый.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
В файле «first.pdf» есть две страницы, а в файле «second.pdf» — одна страница. Новый PDF-файл состоит из трех страниц.
Вы можете использовать подстановочные знаки вместо перечисления большого количества исходных файлов. Эта команда создает новый файл с именем «all.pdf», который содержит все файлы PDF в текущем каталоге.
qpdf --empty --pages *.pdf -- all.pdf
Мы можем использовать диапазоны страниц, добавляя номера страниц или диапазоны после имен файлов, из которых должны быть извлечены страницы.
Это позволит извлечь первую и вторую страницы из «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 — это страница 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-файле.
qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 ---split-pages
Извлеченные страницы имеют имена на основе «section.pdf» с добавленным к ним порядковым номером.
раздел *.pdf
Если вы хотите извлечь диапазон страниц и сохранить его в одном PDF-файле, используйте команду этой формы. Обратите внимание, что мы не включаем параметр --split-pages
. По сути, то, что мы здесь делаем, — это слияние PDF, но мы только «объединяем» страницы из одного исходного файла.
qpdf --empty --pages large.pdf 8-13 -- Chapter2.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. Он называется паролем владельца .
Чтобы зашифровать 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 запрашивает пароль. Ввод пароля пользователя разрешает программе просмотра открыть файл.
Помните, что qpdf
не изменяет существующий PDF. Он создает новый с изменениями, которые мы попросили его внести. Поэтому, если вы создадите зашифрованный PDF-файл, у вас все равно будет исходная незашифрованная версия. В зависимости от ваших обстоятельств вы можете удалить исходный PDF-файл или безопасно сохранить его.
Чтобы расшифровать файл, используйте параметр --decrypt
. Очевидно, что вы должны знать пароль владельца , чтобы это работало. Нам нужно использовать параметр --password
для идентификации пароля.
qpdf --decrypt --password=goose.goat.gibbon secret.pdf разблокированный.pdf
«Unlocked.pdf» можно открыть без пароля.
qpdf — отличный инструмент
Мы глубоко впечатлены qpdf
. Он предоставляет гибкий и многофункциональный набор инструментов для работы с файлами PDF. И это тоже очень быстро.
Ознакомьтесь с их хорошо написанной и подробной документацией, чтобы увидеть, насколько больше он может сделать.