Операции с PDF-файлами
Утилита qpdf
Утилита qpdf — считывает входной PDF-файл, применяет преобразования, указанные аргументами, к файлу в памяти и сохраняет результат в указанный выходной файл. Утилита поддерживает слияние и разделение PDF-файлов, а также управление списком страниц в PDF-файле.
Установка пакета qpdf:
# apt-get install qpdf
Синтаксис:
$ qpdf [infile] [options] [outfile]
где:
- infile — PDF-файл или --empty (пустой PDF-файл);
- outfile — PDF-файл, - для представления стандартного вывода или --replace-input, если должен быть перезаписан исходный файл. Можно также использовать параметр --split-pages, чтобы создать отдельные PDF-файлы для каждой страницы (или группы страниц) вместо одного выходного файла.
Примеры:
- объединить несколько PDF-файлов в один:
$ qpdf --empty --pages infile1.pdf infile2.pdf -- output.pdf
- объединить несколько страниц из различных PDF-файлов:
$ qpdf --empty --pages infile1.pdf 1,12-13 infile2.pdf 1-10 infile3.pdf 44 -- output.pdf
- объединить первые четыре страницы первого файла и четыре последние страницы второго файла в один:
$ qpdf file first.pdf pages=1-4 second.pdf pages=r4-r1 output.pdf
- сохранить страницы 8-14 и 22 исходного файла в отдельный файл:
$ qpdf input.pdf --pages . 8-14,22 -- output.pdf
- удалить первую страницу файла (в примере в исходном файле 20 страниц):
$ qpdf infile.pdf --pages . 2-20 -- output.pdf
- разбить PDF-файл постранично, каждую страницу сохранить в отдельный файл PDF (имена выходных файлов будут output-<номер страницы>.pdf):
$ qpdf infile.pdf output.pdf --split-pages
- объединить все PDF-файлы в каталоге test в файл PDF output.pdf:
qpdf --empty --pages ./test/*.pdf -- output.pdf
- повернуть все страницы PDF-файла на 180 градусов:
$ qpdf input.pdf output.pdf --rotate=+180
Еще один способ выбора страниц — определить определенную страницу как наложение или подложку, по сути, создавая водяной знак. Параметры --overlay и --underlay работают одинаково, за исключением того, что страницы подложки рисуются под страницей, к которой они применены, возможно, перекрываясь исходной страницей, а файлы наложения рисуются поверх страницы, к которой они применены, возможно, перекрывая страницу. Можно указать, где применяется файл наложения или подложки, добавив параметры --to=PAGES и --from=PAGES.
Пример добавления наложения к каждой странице исходного PDF-файла:
$ qpdf input.pdf --overlay watermark.pdf --repeat=1 -- output.pdf
PDF Arranger
PDF Arranger (pdfarranger) — это небольшое приложение python-gtk, которое помогает объединять или разделять документы PDF, а также вращать, обрезать и переставлять их страницы с помощью интерактивного и интуитивно понятного графического интерфейса. Это фронтенд для pikepdf (python3-module-pikepdf).
Поддерживаемые функции:
- открытие одного или нескольких документов PDF;
- изменение порядка страниц PDF-файла путем перетаскивания, копирования и вставки;
- обратный порядок;
- перемещение или копирование страниц между экземплярами PDF Arranger;
- поворот страниц (с шагом 90 градусов);
- удаление страниц;
- дублирование страниц;
- добавление пустых страниц;
- создание брошюры;
- импорт изображений (конвертация изображения в PDF);
- извлечение текста или изображения со страницы в буфер обмена;
- разделение страниц;
- объединение страниц (на один лист);
- вставка страницы в качестве наложения или подложки на другую страницу;
- выбор страниц (все, нечетные, четные, тот же файл, тот же формат, инвертирование, отмена выбора);
- редактирование метаданных;
- экспорт некоторых страниц в один или несколько документов PDF.
Экспорт выделенных страниц в отдельный файл:
Вставка страницы в качестве наложения:
Результат наложения: