我使用pdftk
來解壓縮PDF並將其作爲文本文件打開。
我想編輯我的情況/媒體框領域,這是如何使用pdftk和/ MediaBox裁剪PDF頁邊距
/MediaBox [0 0 612 792]
我想,以減少利潤,例如
/MediaBox [100 0 512 792]
遺憾的是它不工作。我可以將0
更改爲2
或9
,但我不能將100
舉例說明。
任何想法爲什麼?
我使用pdftk
來解壓縮PDF並將其作爲文本文件打開。
我想編輯我的情況/媒體框領域,這是如何使用pdftk和/ MediaBox裁剪PDF頁邊距
/MediaBox [0 0 612 792]
我想,以減少利潤,例如
/MediaBox [100 0 512 792]
遺憾的是它不工作。我可以將0
更改爲2
或9
,但我不能將100
舉例說明。
任何想法爲什麼?
使用sed的取代任何發生
sed 's/MediaBox \[0 0 612 792*/MediaBox \[100 0 512 792]/g'<in.pdf >out.pdf
或podofobox(內側podofo utils的)
無需解壓 PDF流的第一(視需要與PDFTK)
podofobox in.pdf out.pdf media 10000 0 51200 79200
,你可以看到,podofobox使用乘以100媒體框值,因爲它的規模是一個子多,因此,您只需將兩個零()添加到您可以在MediaBox字段中讀取的值
有更好的方法來改變一個PDF的保證金:
希望你找到一個自發布以來的答案:-)
我試過最後一個,Ghostscript(9.10),它不適合我。另一方面,接受答案中的podofobox確實起作用。 – Ali 2014-08-28 12:53:27
字符串100中的數字比0多兩個。您使用文本編輯器並添加字符,這會使文件變長。這就是爲什麼用9或2或任何其他單個數字替換可以正常工作的原因。儘管理論上可以使用文本編輯器來編輯PDF,但這並不簡單,您必須尊重文件的內部結構。外部參照表是靠近PDF末尾的表格,它告訴讀者每個對象所處的位置。只要任何東西的長度或位置發生變化,它都必須更改。
以上使用pdftk
的手動方法不起作用的原因是您要在文件的中心添加兩個字節。這打破了xref
表。如果你手動更新所有的xref
,這將起作用,但它可能非常乏味。使用sed
或任何其他文本編輯工具不能解決問題。 podofo
爲您計算xref
。
1-您在「在文件中間添加兩個字節」是什麼意思?xref表是什麼? 2 - 那你有什麼建議? – RockScience 2013-02-26 01:53:20
我推薦做@Dingo和Gorb博士已經提出的建議,即使用旨在操縱pdf的軟件或代碼。 – 2013-02-26 05:32:04
這很有道理,謝謝 – RockScience 2013-02-26 09:53:34
這不是一個編程問題,應該移到網絡的另一個網站 – anddam 2013-11-28 07:48:04