- HowTo: Merge PDF Files – Linux Command Line
- Convert Multiple PDF Files Into One
- Merge Specific Pages Into One PDF File
- Join Ranges of Pages Into Single PDF File
- Как создавать и объединять PDF-файлы в командной строке Linux
- Портативный формат документа
- Создание PDF-файлов в Linux
- Команда qpdf
- Объединение файлов PDF
- Разделение файлов PDF
- Вращающиеся страницы
- Шифрование и дешифрование
- qpdf — отличный инструмент
HowTo: Merge PDF Files – Linux Command Line
Sometimes it is required to merge several PDF files into a one PDF file.
In Linux we can easily join multiple PDF files using the command line utility called convert that is a part of ImageMagick software suite.
From this article you will learn how to merge entire PDF files into one PDF file or how to join specific PDF pages only into a single PDF file.
Cool Tip: Merge PDF files in Linux using the ghostscript command! Read more →
First of all it is required to install the ImageMagick suite that provides the convert utility:
$ sudo apt-get install imagemagick
Convert Multiple PDF Files Into One
Merge two PDF files FILE1.pdf and FILE2.pdf into the new OUTPUT.pdf file:
$ convert FILE1.pdf FILE2.pdf OUTPUT.pdf
Merge Specific Pages Into One PDF File
Note: The count of the pages starts from zero.
For this we will pass our filenames with the required page numbers in the square brackets to the convert command.
Merge the second page from the first file FILE1.pdf with the first and the sixth pages from the second file FILE2.pdf and save the result to the new OUTPUT.pdf file:
$ convert FILE1.pdf[1] FILE2.pdf[0,5] OUTPUT.pdf
Join Ranges of Pages Into Single PDF File
And of course it is possible to join some ranges of pages.
Cool Tip: Plan to send this PDF somewhere or just keep? How about to protect it with a password? This is really easy for ones who merge PDF files from the command line! Read more →
Join the first ten pages from first file FILE1.pdf with the first five pages from the second file FILE2.pdf and save the result to the new OUTPUT.pdf file:
$ convert FILE1.pdf2 FILE2.pdf3 OUTPUT.pdf
Как создавать и объединять PDF-файлы в командной строке Linux
Файлы PDF были разработаны для содействия совместному использованию. Каждый может открыть их — в своем веб-браузере, если у него нет ничего другого. Linux позволяет управлять, объединять и разделять файлы PDF в командной строке.
Портативный формат документа
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, используйте эту команду:
В Manjaro вы должны ввести:
Объединение файлов PDF
Сначала синтаксис командной строки qpdf может показаться запутанным. Например, многие команды ожидают входной файл PDF.
Если команда не требует этого, вместо этого вам нужно использовать параметр —empty . Это говорит qpdf не ожидать входного файла. Опция —pages позволяет выбирать страницы. Если вы просто укажете имена PDF, будут использованы все страницы.
Чтобы объединить два файла PDF в новый файл PDF, используйте этот формат команды.
qpdf --empty --pages first.pdf second.pdf -- combined.pdf
- qpdf: вызывает команду qpdf .
- –пусто: сообщает qpdf , что входного PDF-файла нет. Вы можете возразить, что «first.pdf» и «second.pdf» являются входными файлами, но qpdf считает их параметрами командной строки.
- –pages: сообщает qpdf , что мы будем работать со страницами.
- first.pdf second.pdf: два файла, из которых мы собираемся извлечь страницы. Мы не использовали диапазоны страниц, поэтому будут использоваться все страницы.
- —: указывает конец параметров команды.
- combined.pdf: имя создаваемого файла PDF.
Если мы будем искать файлы PDF с помощью ls , мы увидим два исходных файла — нетронутых — и новый PDF-файл с именем «combined.pdf».
ls -hl first.pdf second.pdf combined.pdf
В файле «first.pdf» есть две страницы, а в файле «second.pdf» — одна страница. Новый PDF-файл состоит из трех страниц.
Вы можете использовать подстановочные знаки вместо перечисления большого количества исходных файлов. Эта команда создает новый файл с именем «all.pdf», который содержит все файлы PDF в текущем каталоге.
qpdf --empty --pages *.pdf -- all.pdf
Мы можем использовать диапазоны страниц, добавляя номера страниц или диапазоны после имен файлов, из которых должны быть извлечены страницы.
Это позволит извлечь первую и вторую страницы из «first.pdf» и вторую страницу из «second.pdf». Обратите внимание: если файл «combined.pdf» уже существует, он не перезаписывается. В него добавлены выбранные страницы.
qpdf --empty --pages first.pdf 1-2 second.pdf 1 -- combined.pdf
Диапазоны страниц могут быть настолько подробными, насколько вам нравится. Здесь мы запрашиваем очень конкретный набор страниц из большого PDF-файла и создаем итоговый PDF-файл.
qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- summary.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-файле.
qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 -- --split-pages
Извлеченные страницы имеют имена на основе «section.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 . Очевидно, что для этого вам необходимо знать пароль owner. Нам нужно использовать параметр —password для определения пароля.
qpdf --decrypt --password=goose.goat.gibbon secret.pdf unlocked.pdf
«Unlocked.pdf» можно открыть без пароля.
qpdf — отличный инструмент
Мы глубоко впечатлены qpdf . Он предоставляет гибкий и многофункциональный набор инструментов для работы с файлами PDF. И это тоже очень быстро.
Ознакомьтесь с их хорошо написанной и подробной документацией , чтобы увидеть, насколько больше он может сделать.