0

usps で国内配送ラベル API を使用して、国内配送ラベルを PDF 形式で生成しています。usps が必要とするラベルである pdf ファイルの上部セクションを切り取ることに成功し、出荷時に不要な領収書である下部セクションを無視しました。

Ghostscript /Cropbox を使用して、成功したセクションのみをトリミングしますが、トリミングされた PDF ファイルを Linux カップで印刷しようとすると、トリミングされた 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

しかし、印刷すると、cropped_portrait.pdf ではなく uncroped.pdf ファイルが印刷されます。なぜそれをしているのですか?uncropped.pdf を削除してもう一度印刷しようとしましたが、まだ uncroped.pdf が印刷されます。

これは、トリミングされていない、およびトリミングされた usps 配送ラベルの 2 つのファイルです。

トリミングされていない PDF ファイル トリミングされていない PDF ファイル

トリミングされた PDF ファイル

ここに画像の説明を入力

これで私を助けてくれることを願っています、

ありがとうございました

4

1 に答える 1

1

おそらく、縮小された PDF ファイルは正しく表示されるため、Ghostscript で PDF ファイルを生成しても問題はありません。

印刷プロセスが CropBox を尊重しない理由については、そうすべき理由はありません。PDFには多くのボックスがあり、印刷アプリケーションがどれを使用したいかを知る実際の方法はありません。その結果、印刷​​アプリケーションは多くの場合、変更していない MediaBox をデフォルトに設定します (CropBox を変更しても、PDF ファイルの内容は変更されず、表示される内容だけが変更されることに注意してください)。

現在、CUPS チェーンが Ghostscript を使用して PDF ファイルをレンダリングしている場合、またはそれを PostScript に変換している場合、これを解決できます。コマンド ラインに -dUseCropBox を追加する必要があります。ただし、私は CUPS の専門家ではないため、その方法を説明することはできません。CUPS が Ghostscript を使用していない場合でも、変換を行っているものに CropBox を使用するように指示することはおそらく可能ですが、どのアプリケーションが関与しているかを調べ、そのアプリケーションに合わせてコマンドを適切に変更する必要があります。

于 2013-04-26T07:37:21.590 に答える