Редактирование PDF-файлов в Linux: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
→‎Оглавление: стилевые правки
→‎Оглавление: дополнение
Строка 34: Строка 34:


=== Оглавление ===
=== Оглавление ===
'''Извлечение''' служебной информации из <code>Kniga.pdf</code>, с записью в текстовый файл <code>Oglavlenie</code>:
; Извлечение
Извлечение служебной информации, содержащей оглавление, с записью в текстовый файл:
<source lang="bash">pdftk Kniga.pdf dump_data_utf8 > Oglavlenie</source>
<source lang="bash">pdftk Kniga.pdf dump_data_utf8 > Oglavlenie</source>

; Редактирование <code>Oglavlenie</code>
Пункт оглавления состоит из четырёх параметров, пример с двумя пунктами:
'''Редактирование''' <code>Oglavlenie</code>. Для каждого пункта оглавления необходимо добавить четыре параметра. Пример с двумя пунктами:
<pre>...
<pre>...
NumberOfPages: 100
NumberOfPages: 100
Строка 52: Строка 51:
...</pre>
...</pre>
, где <code>BookmarkLevel</code> — уровень пункта оглавления, <code>BookmarkPageNumber</code> — порядковый номер страницы в PDF файле.
, где <code>BookmarkLevel</code> — уровень пункта оглавления, <code>BookmarkPageNumber</code> — порядковый номер страницы в PDF файле.

; Внедрение
Внедрение <code>Oglavlenie</code> в отдельный PDF файл:
'''Внедрение''' <code>Oglavlenie</code> в <code>Kniga.pdf</code> с записью результата в отдельный файл <code>Output.pdf</code>:
<source lang="bash">pdftk Kniga.pdf update_info_utf8 Oglavlenie output Output.pdf</source>
<source lang="bash">pdftk Kniga.pdf update_info_utf8 Oglavlenie output Output.pdf</source>



Версия от 15:01, 3 мая 2015

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

Программное обеспечение

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

Команды

Сохранение отдельных страниц

pdfseparate Kniga.pdf %d.pdf

Объединение отдельных страниц

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

pdfunite *.pdf Kniga.pdf

Конвертирование в другие форматы

Векторные

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

pdftocairo -pdf Kniga.pdf Kniga2.pdf

Растровые

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

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

Извлечение изображений

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

pdfimages -j Kniga.pdf img

Оглавление

Извлечение служебной информации из 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
PageMediaBegin
...

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

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

pdftk Kniga.pdf update_info_utf8 Oglavlenie output Output.pdf

См. также