Редактирование PDF-файлов в Linux: различия между версиями
м Sneeuwschaap переименовал страницу Редактирование PDF файлов в Linux в Редактирование PDF-файлов в Linux: на каком это языке? |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
Этот учебник посвящён краткому описанию примеров редактирования [[w:Portable Document Format|PDF]] |
Этот учебник посвящён краткому описанию примеров редактирования [[w:Portable Document Format|PDF]]-файлов в операционной системе [[w:Linux|Linux]]. |
||
{{Темы|Linux}} |
{{Темы|Linux}} |
||
== Программное обеспечение == |
== Программное обеспечение == |
||
# '''PDFShuffler''' ([[w:Графический интерфейс пользователя|GUI]] для ''Python-pyPdf'') — извлечение, добавление, удаление, поворот, изменение порядка, обрезка |
# '''PDFShuffler''' ([[w:Графический интерфейс пользователя|GUI]] для ''Python-pyPdf'') — извлечение, добавление, удаление, поворот, изменение порядка, обрезка страниц PDF. |
||
# '''{{w|Poppler}}-utils''' (''pdfseparate, pdfunite, pdftocairo, pdftoppm, pdfimages'' и др.) — извлечение, сборка, конвертирование. |
# '''{{w|Poppler}}-utils''' (''pdfseparate, pdfunite, pdftocairo, pdftoppm, pdfimages'' и др.) — извлечение, сборка, конвертирование. |
||
# '''{{w|Cairo}}''' (используется для Poppler-utils (pdftocairo)). |
# '''{{w|Cairo}}''' (используется для Poppler-utils (pdftocairo)). |
||
Строка 17: | Строка 17: | ||
=== Извлечение изображений === |
=== Извлечение изображений === |
||
Извлечение |
Извлечение изображений JPG (параметр <code>-j</code>). Извлечение без параметра <code>-j</code> и изображений в других форматах — сохранение в PNM (PPM, PGM, PBM). |
||
<source lang="bash">pdfimages -j Kniga.pdf img</source> |
<source lang="bash">pdfimages -j Kniga.pdf img</source> |
||
=== Сборка страниц === |
=== Сборка страниц === |
||
Перед объединением необходимо проверить именование |
Перед объединением необходимо проверить именование страниц PDF в виде нумерации 000.pdf, 001,pdf… для их правильной последовательности в итоговом документе. |
||
<source lang="bash">pdfunite *.pdf Kniga.pdf</source> |
<source lang="bash">pdfunite *.pdf Kniga.pdf</source> |
||
Сборка при помощи PDFtk: |
Сборка при помощи PDFtk: |
||
Строка 39: | Строка 39: | ||
==== Растровые ==== |
==== Растровые ==== |
||
Разрешение получаемых изображений — 200 dpi. Форматы: [[w:Portable anymap|PNM]] (PPM, PGM, PBM), TIF, PNG, JPEG. Для справки наберите <code>pdftoppm -h</code>, или см. {{Unix man |pdftoppm|1}}. Конвертирование всех |
Разрешение получаемых изображений — 200 dpi. Форматы: [[w:Portable anymap|PNM]] (PPM, PGM, PBM), TIF, PNG, JPEG. Для справки наберите <code>pdftoppm -h</code>, или см. {{Unix man |pdftoppm|1}}. Конвертирование всех страниц PDF: |
||
; '''PPM''' |
; '''PPM''' |
||
<source lang="bash">pdftoppm -r 200 Kniga.pdf page</source> |
<source lang="bash">pdftoppm -r 200 Kniga.pdf page</source> |
||
Строка 61: | Строка 61: | ||
BookmarkPageNumber: 7 |
BookmarkPageNumber: 7 |
||
...</pre> |
...</pre> |
||
, где <code>BookmarkLevel</code> — уровень пункта оглавления, <code>BookmarkPageNumber</code> — порядковый номер страницы в PDF |
, где <code>BookmarkLevel</code> — уровень пункта оглавления, <code>BookmarkPageNumber</code> — порядковый номер страницы в PDF-файле. |
||
'''Внедрение''' <code>Oglavlenie</code> в <code>Kniga.pdf</code> с записью результата в отдельный файл <code>Output.pdf</code>: |
'''Внедрение''' <code>Oglavlenie</code> в <code>Kniga.pdf</code> с записью результата в отдельный файл <code>Output.pdf</code>: |
Версия от 21:08, 22 мая 2018
Этот учебник посвящён краткому описанию примеров редактирования PDF-файлов в операционной системе Linux.
Программное обеспечение
- PDFShuffler (GUI для Python-pyPdf) — извлечение, добавление, удаление, поворот, изменение порядка, обрезка страниц PDF.
- Poppler-utils (pdfseparate, pdfunite, pdftocairo, pdftoppm, pdfimages и др.) — извлечение, сборка, конвертирование.
- Cairo (используется для Poppler-utils (pdftocairo)).
- Pdftk — работа с оглавлением.
- 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
См. также