Редактирование PDF файлов в Linux

Материал из Викиучебника — открытых книг для открытого мира
Перейти к: навигация, поиск

Этот учебник посвящён краткому описанию примеров редактирования PDF файлов в операционной системе Linux.


Программное обеспечение[править]

  1. PDFShuffler (GUI для Python-pyPdf) — извлечение, добавление, удаление, поворот, изменение порядка, обрезка PDF страниц.
  2. Poppler-utils (pdfseparate, pdfunite, pdftocairo, pdftoppm, pdfimages и др.) — извлечение, сборка, конвертирование.
  3. Cairo (используется для Poppler-utils (pdftocairo)).
  4. Pdftk — работа с оглавлением.
  5. LibreOffice — поддерживается импорт и экспорт, так что есть возможность полного изменения документа.

Команды[править]

Извлечение страниц[править]

Всех:

pdfseparate Kniga.pdf %d.pdf

Избранных. В данном примере с 3 по 6:

pdfseparate Kniga.pdf -f 3 -l 6 %d.pdf

Извлечение изображений[править]

Извлечение JPG изображений (параметр -j). Извлечение без параметра -j и изображений в других форматах — сохранение в PNM (PPM, PGM, PBM).

pdfimages -j Kniga.pdf img

Сборка страниц[править]

Перед объединением необходимо проверить именование PDF страниц в виде нумерации 000.pdf, 001,pdf… для их правильной последовательности в итоговом документе.

pdfunite *.pdf Kniga.pdf

Сборка при помощи PDFtk:

pdftk *.pdf cat output Kniga.pdf

Удаление страниц[править]

Удаление страницы 1:

pdftk Kniga.pdf cat 2-end output Output.pdf

Удаление страниц 2, 11:

pdftk Kniga.pdf cat 1 3-10 12-end output Output.pdf

Конвертирование в другие форматы[править]

Векторные[править]

Переконвертация в PDF после объединения pdfunite(1) может существенно уменьшить размер файла. Другие форматы: PS, EPS, SVG.

pdftocairo -pdf -origpagesizes Kniga.pdf Kniga2.pdf

Растровые[править]

Разрешение получаемых изображений — 200 dpi. Форматы: PNM (PPM, PGM, PBM), TIF, PNG, JPEG. Для справки наберите pdftoppm -h, или см. pdftoppm(1). Конвертирование всех PDF страниц:

PPM
pdftoppm -r 200 Kniga.pdf page
TIF
pdftoppm -tiff -tiffcompression lzw -r 200 Kniga.pdf page

Оглавление[править]

Извлечение служебной информации из Kniga.pdf, с записью в текстовый файл Oglavlenie:

pdftk Kniga.pdf dump_data_utf8 > Oglavlenie

Редактирование Oglavlenie. Для каждого пункта оглавления необходимо добавить четыре параметра. Пример с двумя пунктами:

...
NumberOfPages: 100
BookmarkBegin
BookmarkTitle: Название 1 пункта оглавления
BookmarkLevel: 1
BookmarkPageNumber: 4
BookmarkBegin
BookmarkTitle: Название 2 пункта оглавления
BookmarkLevel: 1
BookmarkPageNumber: 7
...

, где BookmarkLevel — уровень пункта оглавления, BookmarkPageNumber — порядковый номер страницы в PDF файле.

Внедрение Oglavlenie в Kniga.pdf с записью результата в отдельный файл Output.pdf:

pdftk Kniga.pdf update_info_utf8 Oglavlenie output Output.pdf

См. также[править]