Вы можете использовать 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вместо них содержимое, используя простую копию вставки. А затем импортируйте эти данные обратно.