我正在以 pdf 格式下載一些報紙(供后代使用)。一個標題很痛苦,它在 pdf 本身中包含 URI 鏈接,如果你不小心點擊了這些鏈接,它會打開一個瀏覽器選項卡到一個 500 秒的頁面。這在臺式電腦上并沒有那么糟糕,但如果有人用平板電腦閱讀它會讓人頭疼。每個問題都有大約 200 個這樣的鏈接。
對于不同的標題,它就像使用 QPDF 一樣簡單,如下所示:
qpdf --qdf --object-streams=disable file temp-file
這會將臨時版本設定為 postscript 模式或其他內容,并且我能夠使用以下內容對鏈接進行核對:
s/obj\n<<\n( \/A <<\n \/S \/URI. ?)>>\nendobj/"obj\n<<\n" . " " x length($1). ">>\nendobj"/sge
這仍然有效。但是,15 兆的原始 pdf 現在變成了 108 兆的“固定”pdf。我可以接受一些膨脹,但 720% 有點荒謬(我認為這更像是另一個標題的 10%)。每當我在谷歌上搜索如何執行此操作時,我都會得到 Acrobat Reader 的結果,以及如何在 20 個選單中單擊以執行此操作……使用 Adob??e 產品的人是否曾經想要自動化這些東西?一個典型的問題有 180 到 300 個鏈接,分布在 45-150 頁(周日版)。
有什么工具可以做到這一點嗎?qpdf 是否有任何聰明的論據可以使這更合理?
PS 是的,我知道僅僅用空格覆寫 URI 是很糟糕的,但我從來沒有設法弄清楚如何完全洗掉物件,因為它們的參考也必須被洗掉。
uj5u.com熱心網友回復:
您可以使用
1) qpdf
在臃腫的編輯練習結束時,想法是使用
fix-qdf file-temp.pdf>out.pdf
整理重定向,然后
qpdf --compress-streams=y out.pdf outfixed.pdf
回到fixed.pdf
其他跨平臺方式正在使用
2) pdftk
$ pdftk infile.pdf output outfile.pdf uncompress
然后用 vim 或任何 sed 腳本方法進行編輯
$ pdftk outfile.pdf output fixedfile.pdf compress
3) 穆托
mutool clean -d [options] input.pdf [output.pdf] [pages]
-d 解壓縮流。這將使輸出檔案變大,但可以方便地使用文本編輯器讀取和編輯內容。
-i 切換影像流的解壓縮。與 -d 結合使用以使影像保持壓縮狀態。
-f 切換字體流的解壓。與 -d 結合使用以保持字體壓縮。
-a ASCII 十六進制編碼二進制流。與 -d 和 -i 或 -f 結合使用可確保盡管影像和/或字體被壓縮,但仍可以使用文本編輯器查看和編輯生成的檔案。
無論您使用哪個選項,重新壓縮時都需要反轉
筆記
使用文本編輯器可能會損壞二進制字體和二進制影像,因此他們需要監視編輯器中更改編碼或換行符的任何損壞。此 pdftk 示例顯示影像流已被很好地解壓縮為簡單文本,但請注意編輯器對行尾的任何更改都會破壞該流

此外,當進行不是簡單的逐位元組“查找和替換”的文本編輯時,外部參照表可能會損壞太多而無法通過重新壓縮重新索引,在使用文本編輯方法時嘗試用相同數量的字符覆寫。
旁注
即使您洗掉操作和外部超鏈接操作但文本存在,閱讀器仍會提供該可利用操作。與此處

因此確保安全已開啟

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/503764.html
