2013-04-26 93 views
0

我在usps中使用Domestic shipping label api生成pdf格式的國內運輸標籤。我設法裁剪PDF文件的頂部部分,這是usps所需的標籤,忽略了底部部分,這是運輸中不需要的收據。在linux中無法正確打印Ghoscript/cropbox

我使用Ghostscript/Cropbox裁剪我只想要的部分,但是當我嘗試在Linux杯子中打印裁剪的pdf文件時,我得到了整個未裁剪的pdf打印而不是裁剪的pdf文件。爲什麼它仍然打印整個文件而不是打印裁剪的部分?

下面是我用來裁剪usps運輸標籤的腳本。

gs -o cropped.pdf -sDEVICE=pdfwrite -c "[/CropBox [50.4 460.5 484.4 750.5] /PAGES pdfmark" -f uncropped.pdf 

然後到它的方向改變爲縱向我使用PDFTK

pdftk cropped.pdf cat 1L output cropped_portrait.pdf 

要打印在linux杯我使用的命令。

lp cropped_portrait.pdf 

但是,當我打印它打印uncropped.pdf文件,而不是cropped_portrait.pdf。 它爲什麼這樣做?我甚至刪除了uncropped.pdf並嘗試再次打印,但它仍然打印uncropped.pdf。

這裏是兩個文件的未裁剪和裁剪的usps貨運標籤。

uncropped的PDF文件 Uncropped PDF file

七分褲PDF文件

enter image description here

希望你能幫助我在這一個,

謝謝

+0

間接的答案,但美國郵政有一個框,你可以檢查,告訴它不要打印收件人部分。 – agentp 2013-04-26 16:12:41

回答

1

想必減少PDF文件顯示正確,所以Ghostscript不會產生問題他PDF文件。至於爲什麼印刷過程不尊重CropBox,沒有理由爲什麼它應該。有很多許多 PDF格式的盒子,並沒有真正的方式讓打印應用程序知道你想使用哪一個。因此,打印應用程序通常會默認使用您尚未更改的MediaBox(請注意,更改CropBox不會更改PDF文件的內容,只是顯示內容)。

現在,如果您的CUPS鏈使用Ghostscript來渲染PDF文件,或將其轉換爲PostScript,那麼可以解決此問題,您需要將-dUseCropBox添加到命令行。然而,我不是CUPS專家,所以我不能告訴你如何做到這一點。如果CUPS沒有使用Ghostscript,那麼它可能仍然可以指示正在進行轉換的任何使用CropBox,但是您將必須找出涉及哪個應用程序,並針對該應用程序適當地更改命令。

+0

是的,謝謝你我裁剪PDF文件後,通過添加-dUseCropBox工作。看起來,在不使用-dUseCropBox的情況下使用裁剪盒在你在linux杯子中打印時根本無法工作。另外一種選擇是將PDF文件轉換爲PNG,並在linux中運行。 – demic0de 2013-04-26 09:07:17