2011-04-26 132 views
8

我有幾百張PDF需要裁剪 - 我願意裁剪實際文檔或者只是爲每個裁剪框添加一個裁剪框,以便正確的可視區域顯示PDF已打開。裁剪PDF /使用Ghostscript添加裁剪框

我該如何使用Ghostscript(v8.71)來做到這一點?我發現這一點:

gs -sDEVICE=pdfwrite -sOutputFile=marked.pdf [/CropBox [54 54 1314 810] /PAGES pdfmark original.pdf

我已經試過這(和所有變種我能想到的),但我總是得到一個錯誤,如本:

Error: /undefinedfilename in ([/CropBox)

我試着圍繞命令的參數移動,但似乎沒有任何工作。有誰知道這可以實現嗎?

更新:仍然糾正語法之後沒有裁剪框,​​看到的結果 -

結果:pdfinfo -box -f 1 -l 3 original.pdf

Producer:  PDFlib 7.0.2 (PHP5/Linux) 
CreationDate: Wed Oct 21 11:41:04 2009 
ModDate:  Wed Oct 21 13:38:22 2009 
Tagged:   no 
Pages:   1 
Encrypted:  no 
Page 1 size: 1423 x 918 pts 
Page 1 MediaBox:  0.00  0.00 1423.00 918.00 
Page 1 CropBox:  0.00  0.00 1423.00 918.00 
Page 1 BleedBox: 54.00 54.00 1369.00 864.00 
Page 1 TrimBox:  0.00  0.00 1423.00 918.00 
Page 1 ArtBox:  0.00  0.00 1423.00 918.00 
File size:  914373 bytes 
Optimized:  no 
PDF version: 1.4` 


結果:pdfinfo -box -f 1 -l 3 marked.pdf

Producer:  GPL Ghostscript 8.71 
CreationDate: Wed Apr 27 15:43:38 2011 
ModDate:  Wed Apr 27 15:43:38 2011 
Tagged:   no 
Pages:   1 
Encrypted:  no 
Page 1 size: 1423 x 918 pts 
Page 1 MediaBox:  0.00  0.00 1423.00 918.00 
Page 1 CropBox:  0.00  0.00 1423.00 918.00 
Page 1 BleedBox:  0.00  0.00 1423.00 918.00 
Page 1 TrimBox:  0.00  0.00 1423.00 918.00 
Page 1 ArtBox:  0.00  0.00 1423.00 918.00 
File size:  392382 bytes 
Optimized:  no 
PDF version: 1.4 

更新:發佈示例PDF -

able_to_crop.pdf
cannot_crop.pdf

+0

你Ghostscript的命令做了「工作」,創造新的輸出 - 但它忽略了你的(錯誤)pdfmark運算參數(它試圖interpete作爲傳遞給它的文件名)。在輸出文件中,Ghostscript使所有「盒子」都相同。 – 2011-04-27 16:12:04

回答

9

你是在正確的軌道上,試圖用pdfmark運算/ Ghostscript的添加裁剪框。但是你的語法不是100%正確的。

試試這個:

gs \ 
    -sDEVICE=pdfwrite \ 
    -o marked.pdf \ 
    -c "[/CropBox [54 54 1314 810] /PAGES pdfmark" \ 
    -f original.pdf 
+0

謝謝 - 現在我可以運行該命令,但生成的PDF實際上並未顯示任何裁剪框。另外,original.pdf有一個出血框,並且這也沒有了。有任何想法嗎? – Brian 2011-04-27 14:18:39

+0

@Brian:也許你對PDF格式* CropBox *的想法應該與PDF規範文檔中CropBox的定義一致嗎? – 2011-04-27 14:40:06

+0

@Brian:CropBox是PDF頁面的一部分,默認情況下所有符合要求的PDF閱讀器都會顯示該頁面... – 2011-04-27 14:42:50