Глядя на закладки, которые я создал в Adobe Pro 8, они хранятся в виде простого текста где-то в файле, как два отдельных объекта. Например, закладка для увеличения 400% с именем "SomeBookmark400percent" может выглядеть как
178 0 obj
<</Parent 177 0 R/A 179 0 R/Title(SomeBookmark400percent\r)>>
endobj
179 0 obj
<</D[447 0 R/XYZ 0 792 4.0]/S/GoTo>>
endobj
Первый объект (# 178) содержит имя закладки и ссылку «R /A» на второй объект (# 179), который определяет то, на что вы будете смотреть: XYZ "0 792" (измерено слева внизу от страница, не уверен, какие единицы) с увеличением "4.0", т.е. 400%.
Для второй закладки с масштабированием, установленным на "фактический размер", с именем ActualSizeBookmark:
471 0 obj
<</D[449 0 R/FitR -134 133 745 792]/S/GoTo>>
endobj
472 0 obj
<</Parent 177 0 R/A 471 0 R/Next 179 0 R/Prev 178 0 R/Title(ActualSizeBookmark\r)>>
endobj
Таким образом, второй объект (# 472) содержит имя закладки "ActualSizeBookmark" и через «R /A» ссылается на первый объект (# 471), который содержит команду «FitR -134 133 745 792» (числа, вероятно, снова являются координатами). ).
В моих тестах замена регулярного выражения
/FitR [0-9]* [0-9]* [0-9]* [0-9]*]
со строкой
/XYZ 0 792 1.0]
успешно превратил все закладки "Фактический размер" в закладки «Масштаб 100%». Конечно, вы получите все закладки в позиции x = 0, y = 792 на соответствующей странице. Если вы хотите, чтобы закладки не изменяли масштаб, используйте "zoom 0", т.е. замените на
/XYZ 0 792 0.0]
Не пытайтесь сделать это без создания резервной копии. В моих тестах длина файла не должна была оставаться постоянной, но вам нужно использовать редактор, который не связывается с другим (возможно, двоичным) содержимым PDF.