Expertus metuit
Добавление индекса в PDF-документ через pdftk
Опубликовано 2017-04-13 в 20:14

Индекс (оглавление) очень помогает в навигации по PDF-документу. Однако в некоторых PDF-файлах его нет. Добавить его можно через командлайновую программу pdftk (она есть для всех операционных систем).

Схема простая:

  1. экспорт метаданных в файл;
  2. добавление в файл метаданных оглавления;
  3. обновление метаданных в исходном документе.

Экспорт делается так:

$ pdftk original.pdf dump_data_utf8 > metadata.txt

Дальше открываем файл metadata.txt и перед строкой PageMediaBegin добавляем вот такие блоки (по количеству пунктов в оглавлении):

BookmarkBegin
BookmarkTitle: Foreword
BookmarkLevel: 1
BookmarkPageNumber: 4

Смысл всех полей очевиден. BookmarkLevel задаёт уровень вложенности, начинается с 1.

После этого обновляем исходный документ и сохраняем результат в modified.pdf:

$ pdftk original.pdf update_info_utf8 metadata.txt output modified.pdf

❈ ❈ ❈

Существует также кроссплатформенная (платная) десктопная программа Master PDF Editor, в ней также можно легко и удобно менять индекс в визуальном режиме.

Комментарии

Текст комментария (допустимая разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com>) Посетители-анонимы, обратите внимение, что более чем одна гиперссылка в тексте (включая оную из поля «веб-сайт») приведёт к блокировке комментария для модерации. Зайдите на сайта с использованием аккаунта на twitter, например, чтобы посылать комментарии без этого ограничения.
Имя (обязательно, 50 символов или меньше)
Опциональный email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2024 Sergey Stolyarov | Работает на pyrengine