Как добавить закладки (оглавление) в PDF с помощью PDFtk Bookmark Editor¶
Введение¶
Я люблю «правильные» PDF-документы. Такие документы обычно включают в себя интерактивное оглавление, которое по сути представляет собой ряд закладок на заголовки глав, разделов и подразделов.
В программах, которые умеют открывать PDF-документы, интерактивное оглавление обычно можно вывести на экран в левой части страницы (это если речь идёт о настольных компьютерах, с планшетами и смартфонами может быть немного иначе). К примеру, в браузере Microsoft Edge это выглядит так:

Бывает так, что вам в руки попадает «неправильный» PDF-документ, в котором совсем нет закладок, и даже поиск там не работает – например, если документ представляет собой ряд отсканированных книжных страниц. Если страниц много, и печатать на бумаге документ вы не собираетесь, а собираетесь пользоваться электронной версией, без интерактивного оглавления пользоваться им будет неудобно: придется проматывать документ туда-сюда в поисках нужного раздела. А это надоедает.
Относительно простой и при этом бесплатный способ сформировать из закладок интерактивное оглавление в PDF-документе – это использовать приложение PDFtk Bookmark Editor.
Примечание
В статье описано, как составлять оглавление на английском. Если вам нужно оглавление на русском, процесс будет несколько сложнее (см. раздел А что с кириллицей?).
Загрузка и установка приложения¶
PDFtk Bookmark Editor можно скачать с SourceForge.net.
Установки как таковой не требуется, достаточно распаковать скачанный архив – и приложение готово к работе.
Запуск приложения и выбор исходного файла¶
Исполняемый файл приложения называется PDFtkBookmarks.exe. При его запуске открывается окно:

Для начала работы над PDF-документом нажмите на кнопку Source PDF Document и выберите нужный вам файл.
Когда вы открываете PDF-файл в приложении, оно создает несколько служебных файлов. Например, если ваш PDF-файл называется Example.pdf, то рядом с этим файлом PDFtk Bookmark Editor создаст еще несколько:
Example.bak.pdf
Example_bookmarks.txt
Example_bookmarks_data.txt
Example_data.txt
Подробнее о назначении этих файлов читайте в документации к приложению. Нам пока достаточно знать, что оглавление к документу мы будем создавать в файле Example_bookmarks.txt.
Составление оглавления¶
Для начала работы над оглавлением нажмите на кнопку Edit Bookmark Data. Приложение откроет файл Example_bookmarks.txt в текстовом редакторе (если вдруг не откроет, сами откройте).
Краткая инструкция по составлению оглавления приведена в самом файле Example_bookmarks.txt:
; Enter data in 1-line format (tab-delimited page number, level, title)
Это означает, что для каждой отдельной закладки отводится одна строка. В строке нужно ввести три значения, разделенные знаком табуляции:
Номер страницы в файле PDF. Обратите внимание, что это должен быть именно номер страницы PDF-файла, а не тот номер, который может быть «написан» вверху или внизу страницы и будет напечатан на принтере.
Уровень вложенности (1 – это разделы верхнего уровня, 2 – это вложенные в раздел 1, и так далее).
Заголовок раздела, на который ведет закладка. Заголовок не обязательно должен быть точно таким, как в файле, вы можете придумать свой.
Для примера составим оглавление для документации к самому приложению PDFtk Bookmark Editor. Да, в нем как раз нет интерактивного оглавления – может быть, нарочно, чтобы пользователи могли поэкспериментировать?
Наше оглавление будет выглядеть так:

Я намеренно сделала скриншот из Notepad++ с включенным отображением непечатаемых символов, чтобы было видно, где пробелы (выглядят как оранжевые точки), а где табуляция (выглядят как оранжевые стрелки).
Сохранение и просмотр результатов¶
Для получения PDF-документа с тем оглавлением, которое вы сделали на предыдущем шаге:
В окне приложение нажмите на кнопку Update PDF.
В открывшемся окне проводника укажите папку и имя файла, в который вы хотите сохранить результат, и нажмите Сохранить. Вы можете указать исходный файл, так как его резервную копию PDFtk Bookmark Editor создает в самом начале (см. в нашем примере файл Example.bak.pdf).
Когда файл с новым оглавлением будет готов, приложение откроет его в программе для просмотра PDF по умолчанию. В моем случае открывается браузер Microsoft Edge, и документация приложения в нем выглядит так:

А что с кириллицей?¶
С кириллицей все сложнее. Если вы просто напишете свое оглавление кириллицей, приложение вас не поймет, и в оглавлении появятся кракозябры.
Например, вы написали вот так:
; Bookmark data for Example.pdf (12)
; Enter data in 1-line format (tab-delimited page number, level, title)
1 1 Редактор закладок PDFtk
3 1 История версий
4 1 Подробнее: Использование PDFtk Bookmarks Editor
5 2 Примеры _bookmarks.txt и _bookmarks_data.txt
6 2 Пример _data.txt
10 1 Файлы и элементы управления
Тогда в PDF-файле оглавление будет выглядеть так:

Чтобы приложение поняло вас правильно, нужно представить кириллические символы в виде десятичных HTML-кодов, вот так:
; Bookmark data for Example.pdf (12)
; Enter data in 1-line format (tab-delimited page number, level, title)
1 1 Редактор закладок PDFtk
3 1 История версий
4 1 Подробнее: Использование PDFtk Bookmarks Editor
5 2 Примеры _bookmarks.txt и _bookmarks_data.txt
6 2 Пример _data.txt
10 1 Файлы и элементы управления
Тогда оглавление будет выглядеть как надо:

Что еще может приложение¶
Редактирование имеющегося оглавления¶
Приложение можно использовать для редактирования уже имеющегося оглавления в PDF-файлах. В этом случае, когда вы открываете в приложении PDF-документ, PDFtk Bookmark Editor точно так же создает набор дополнительных txt-файлов, только в отличие от примеров выше эти файлы не пустые, в них уже есть оглавление, которое PDFtk Bookmark Editor извлекает из документа. И вы можете его редактировать.
Примечание
Нужно понимать, что речь идет только про оглавление в виде закладок. Если в самом документе есть оглавление на одной из начальных страниц, или в конце, то такое оглавление, конечно же, нельзя отредактировать с помощью PDFtk Bookmark Editor.
Работа в режимах Simple и Full¶
По умолчанию PDFtk Bookmark Editor работает в упрощенном (Simple) режиме.
Если вам вдруг необходим полный (Full) режим:
Откройте в любом текстовом редакторе файл PDFtkBookmarks.ini
Установите для параметра Mode значение 0 (ноль).
[Settings] ; Mode: Full mode = Default (or Mode=0), Simple mode: Mode=1 (or any value other than Mode=0) ; Uncomment the line Mode=1 below to set Simple mode (remove leading semicolon) ; Comment out the line Mode=1 below to set Full (default) mode (add leading semicolon) Mode=0
Возможности приложение в полном режиме описаны в документации к PDFtk Bookmark Editor. Там же вы найдете описание других параметров приложения, которые можно изменить в файле PDFtkBookmarks.ini.