Вы можете использовать pdftk для этого. Подробнее: Как экспортировать и импортировать PDF закладки.
Экспортируйте закладки PDF в командной строке следующим образом:
pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt
Импортируйте закладки PDF из файла данных следующим образом:
pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf
Формат закладки pdftk немного утомителен для написания. Вместо этого я создал свой собственный скрипт, используя bash , sed , pdftk и python3 . Проверьте это в этом репо: https://github.com/SiddharthPant/booky
Так что теперь я могу создать такой текстовый файл (bkmrks.txt), который займет всего 5 минут, даже для 1000 страниц PDF.
{
Title1, 1
Title2, 2
{
Subtitle1, 3
Subtitle2, 4
{
SubSubtitle1, 5
...
}
}
}
а затем использовать мой скрипт
./booky.sh pdf_file.pdf bkmrks.txt
это автоматически создает PDF (pdf_file_new.pdf), в котором есть мои закладки.
Это сработает в * nix системах, если вместо этого вы находитесь на компьютере с Windows. Затем первая установка python3 и pdftk просто использовать файл booky.py в репо для преобразования bkmrks.txt в pdftk совместимый формат
python3 booky.py < bkmrks.txt > output.txt
а затем с помощью команды экспорта создать файл данных с дампом. Удалите предыдущие закладки из этого файла и вставьте содержимое output.txt вместо этого, используя простую копировальную вставку. А затем импортируйте эти данные обратно.