課したいpdfがあります。8.5x11 インチのページ、メディア ボックス、クロップ ボックスがあります。隣接するページを結合して、pdf を 17x11 インチのページにしたいと考えています。残念ながら、ほとんどのページのコンテンツは完全にクロップ ボックスの外にあるか、クロップ ボックスにまたがっています。各ページには 1 つのストリームとクロップ ボックスのみを含めることができるため、適用すると、重なっているコンテンツが表示されます。これは悪いです。
DPIを事前に修正するため、pdfをラスタライズしたくありません。したがって、ページを画像としてエクスポートし、画像を追加して (imagemagick)、これらのペアの画像を新しい pdf に埋め込むことは考慮しません。
あとがきに課す問題もありました - 透明度、フォントのラスタライズ、および pdf->ps->pdf 変換中のその他の視覚的な不具合に関する問題です。
答えはスクリプト可能でなければなりません。
これまでのところ、私は試しました:
- podofo インポジション スクリプト (lua)
- PyPDF2 (パイソン)
- ゴーストスクリプト
- ラテックス
「Ghostscript はトリミング ボックスの外側のコンテンツを削除しますか?」という質問は、ghostscript の pdfwrite モジュールが、出力 PDF ファイルを生成するときに、トリミング ボックスに従ってコンテンツをラスタライズおよびトリミングすることを示唆しています。したがって、ghostscript の pdfwrite モジュールを介して自分の pdf をパイプするだけで済みます。残念ながら、これはうまくいきません。
証拠を介してpdfを別のpdfに印刷しようとしたとき、私はあきらめようとしていました。それは完全に機能します - クロップボックス内のテキストとベクター要素はラスタライズされず、クロップボックスの外側の要素は削除されます (またがる要素はまだテストしていません)。品質は高く、解像度 (ページ サイズ) と外観は同じです。実際、メタデータ以外はすべて同じように見えます。
そう:
- 質問は可能です
- 答えはすでにある
どうすればアクセスできますか?
pdftopdf
この機能は、カップのバイナリによって提供される可能性があると思います。外部バイナリの呼び出しに問題はありません....しかし、使用方法がわかりませんpdftopdf
。
編集: test pdf へのリンク。これには、ラスター、ベクター、およびテキスト アイテム (一部は部分的に透明なアイテムによって部分的に遮られています) が含まれており、隣接するページにまたがって隣接しています。この PDF をカップを通して印刷すると、クロップ ボックスの外側のすべてのコンテンツがクロップされるように見えます。ただし、フィルター処理された pdf をinkscape で開くと、トリミングされたテキストを除いて、ページ外のアイテムがトリミングされずに個別にマスクされていることがわかります。