Nhìn vào dấu trang tôi đã tạo trong Adobe Pro 8, chúng được lưu trữ ở dạng văn bản đơn giản ở đâu đó trong tệp, dưới dạng hai đối tượng riêng biệt. Ví dụ: một dấu trang để thu phóng 400% có tên "Một số Sách đánh dấu" có thể xuất hiện dưới dạng
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
Đối tượng đầu tiên (# 178) chứa tên của dấu trang và tham chiếu "R / A" cho đối tượng thứ hai (# 179) xác định những gì bạn sẽ xem xét: XYZ "0 792" (được đo từ dưới cùng bên trái của trang, không chắc đơn vị nào) với thu phóng "4.0" tức là 400%.
Đối với dấu trang thứ hai với thu phóng được đặt thành "kích thước thực", được đặt tên là 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
Vì vậy, đối tượng thứ hai (# 472) chứa tên Bookmark "ActualSizeBookmark" và tham chiếu qua "R / A" cho đối tượng đầu tiên (# 471), chứa lệnh "FitR -134 133 745 792" (các số có thể là tọa độ một lần nữa ).
Trong các thử nghiệm của tôi, thay thế biểu thức chính quy
/FitR [0-9]* [0-9]* [0-9]* [0-9]*]
với chuỗi
/XYZ 0 792 1.0]
đã chuyển thành công tất cả dấu trang "Kích thước thực" thành dấu trang "Thu phóng 100%". Tất nhiên, bạn sẽ kết thúc với tất cả các dấu trang ở vị trí x = 0, y = 792 trên trang tương ứng của họ. Nếu bạn muốn dấu trang không sửa đổi thu phóng, hãy sử dụng "thu phóng 0", tức là thay thế bằng
/XYZ 0 792 0.0]
Đừng thử điều này mà không tạo một bản sao lưu. Trong các thử nghiệm của tôi, độ dài tệp không phải không đổi, nhưng bạn cần sử dụng trình chỉnh sửa không gây rối với nội dung (có thể là nhị phân) khác của PDF.