Операции с PDF-файлами

Материал из ALT Linux Wiki

< Soft

Утилита qpdf

Qpdf
User-menu-qpdfpng.png
Разработчик(и) Jay Berkenbilt
Первый выпуск 2008
Лицензия Apache-2.0
Сайт qpdf.sf.io
Репозиторий 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-файлы для каждой страницы (или группы страниц) вместо одного выходного файла.
Примечание: Отдельные номера страниц в команде разделяются запятыми, а диапазон страниц дефисом. Отдельные страницы и диапазоны могут быть перечислены вместе, например, 11-14,3,5. Страницы печатаются в том порядке, в котором они перечислены. Для вывода страниц в обратном порядке, начиная с последней страницы можно использовать z-1. r2-r1 печатает последние две страницы, а r1-r2 печатает последние две страницы в обратном порядке.


Примеры:

  • объединить несколько 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 --empty --pages first.pdf 1-4 second.pdf 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
Altedu-menu-pdfarranger.png
Разработчик(и) jeromerobert
Первый выпуск 2009
Лицензия GPL v3
Сайт github.com
Репозиторий pdfarranger

PDF Arranger (pdfarranger) — это небольшое приложение python-gtk, которое помогает объединять или разделять документы PDF, а также вращать, обрезать и переставлять их страницы с помощью интерактивного и интуитивно понятного графического интерфейса. Это фронтенд для pikepdf (python3-module-pikepdf). Форк PDF-Shuffler.

Поддерживаемые функции:

  • открытие одного или нескольких документов PDF;
  • изменение порядка страниц PDF-файла путем перетаскивания, копирования и вставки;
  • обратный порядок;
  • перемещение или копирование страниц между экземплярами PDF Arranger;
  • поворот страниц (с шагом 90 градусов);
  • удаление страниц;
  • дублирование страниц;
  • добавление пустых страниц;
  • создание брошюры;
  • импорт изображений (конвертация изображения в PDF);
  • извлечение текста или изображения со страницы в буфер обмена;
  • разделение страниц;
  • объединение страниц (на один лист);
  • вставка страницы в качестве наложения или подложки на другую страницу;
  • выбор страниц (все, нечетные, четные, тот же файл, тот же формат, инвертирование, отмена выбора);
  • редактирование метаданных;
  • экспорт некоторых страниц в один или несколько документов PDF.

Установка пакета pdfarranger:

# apt-get install pdfarranger

Интерфейс PDF Arranger

Экспорт выделенных страниц в отдельный файл:

PDF Arranger. Экспорт выделенных страниц в отдельный файл

Вставка страницы в качестве наложения:

PDF Arranger. Вставка страницы в качестве наложения

Результат наложения:

PDF Arranger. Результат наложения

PDF-Shuffler

PDF-Shuffler
User-menu-pdfshuffler.png
Разработчик(и) Pascal Bleser
Первый выпуск 2008
Лицензия GNU GPLv3
Сайт sourceforge.net
Репозиторий pdfshuffler

PDF-Shuffler — это небольшая свободная утилита для Linux (написанная на Python и GTK), позволяющая:

  • разбивать, объединять и сортировать страницы PDF;
  • удалять отдельные страницы;
  • поворачивать страницы;
  • изменять порядок страниц.

Она работает как GUI-обёртка над pyPDF (позже — PyPDF2 и производные).

Установка пакета pdfshuffler:

# apt-get install pdfshuffler

Интерфейс PDF-Shuffler


PDF Mix Tool

PDF Mix Tool
Pdfmixtool.png
Разработчик(и) Marco Scarpetta
Первый выпуск 2018
Лицензия GPL v3
Сайт gitlab.com
Репозиторий pdfmixtool

PDF Mix Tool (pdfmixtool) — это простое и лёгкое приложение, позволяющее выполнять основные операции редактирования PDF-файлов.

Основные операции:

  • объединение двух или более файлов с указанием набора страниц для каждого из них;
  • объединение страниц (N-страниц на один лист);
  • поворот страниц (с шагом 90 градусов);
  • удаление страниц;
  • добавление пустых страниц в PDF-файл;
  • создание брошюры;
  • экспорт изображений (извлечение изображений из PDF);
  • выбор страниц (все, нечетные, четные, тот же файл, тот же формат, инвертирование, отмена выбора);
  • редактирование метаданных;
  • экспорт некоторых страниц в один или несколько документов PDF.

Установка пакета pdfmixtool:

# apt-get install pdfmixtool

Экспорт выделенных страниц в отдельный файл:

PDF Mix Tool. Экспорт выделенных страниц в отдельный файл

Объединение страниц из разных PDF-файлов:

PDF Mix Tool. PDF-файлов

PDFSam

PDFSam
Pdfsam-icon.png
Разработчик(и) Andrea Vacondio
Первый выпуск 2008
Лицензия AGPLv3 для v3,
GPLv2 для v2.x
Сайт pdfsam.org
Репозиторий pdfsam

PDFsam Basic (или PDF Split and Merge) — свободное кроссплатформенное приложение с открытым исходным кодом, позволяющее:

  • разделять
  • объединять
  • извлекать страницы
  • поворачивать
  • смешивать

PDF-документы.

Версия v2

Установка пакета pdfsam:

# apt-get install pdfsam

Интерфейс PDFSam

Версия v5

Примечание: v2 и v5 конфликтуют между собой. Оставьте только одну.


1. Скачайте deb-пакет с https://pdfsam.org/download-pdfsam-basic/

2. Установите его с помощью eepm:

# epm install --repack '/home/test/Загрузки/pdfsam-basic_5.3.1-1_amd64.deb' 

3. Сделайте исполняемым файл java в дистрибутиве программы:

# chmod +x /opt/pdfsam-basic/runtime/bin/java

Интерфейс PDFSam

Ссылки

https://qpdf.readthedocs.io/en/stable/cli.html