Pdf
如何從 PDF 書籤中刪除縮放資訊
我有一個帶有書籤的 PDF 文件(又名索引和文件大綱),它似乎指定了在連結之後顯示文件的縮放比例。我知道這一點,因為當我在 Evince 中查看文件並點擊書籤時,Evince 會自動更改縮放級別。
儘管這在 ISO 32000-1:2008(第 12 節)中有記錄,但我不喜歡這種行為。我希望我的 PDF 查看器在使用書籤後以相同的縮放級別顯示文件。
allow-links-change-zoom
dconf 中一個相對較新的鍵應該可以解決這個問題。然而,即使在將密鑰設置為 之後false
,Evince 仍繼續表現出之前的行為。(也許我可能需要重新啟動電腦;但我無法檢查這一點,因為我現在無法訪問更新版本的 Evince。)這就是為什麼我一直試圖從 PDF 文件的書籤中刪除縮放資訊。
/XYZ
像,/Fit
和出現在規範中的關鍵字GoTo
不會出現在文件中。也許書籤以某種方式編碼。因此,手動或手動擦除數據sed
似乎不起作用。我怎樣才能完成任務?
您可能需要使用解壓縮文件
pdftk
才能真正找到目標關鍵字。如果您仍然有 v1.7 PDF 標準的副本,您還可以查看第 8.2 節以獲取有關語法的更多詳細資訊。關於命名目的地的部分可能會有所幫助。
這是我用來從 PDF 中的書籤中刪除縮放因子的小腳本:
#!/bin/bash # decrypt the file pdftk "$1" output decrypted.pdf && \ pdftk decrypted.pdf output uncompressed.pdf uncompress && \ # remove zoom factors in bookmarks sed 's#/Fit#/XYZ#g' uncompressed.pdf > uncompressed_output.pdf && \ # compress the output pdftk uncompressed_output.pdf output output.pdf compress && \ mv "$1" "$1.original" && \ mv output.pdf "$1" && \ rm decrypted.pdf uncompressed.pdf uncompressed_output.pdf
將其保存到文件
removezoom.sh
並使其可執行。然後您可以將其稱為~$ ./removezoom.sh yourFile.pdf
**編輯:**啊,對不起,我指的是Adobe格式化的文件中的第8.2節,名為“PDF參考,第六版”。格式不同於原始的 ISO 文件,或者國會圖書館聲稱的不同。