2

PDF の各ページの下部を削除したいのですが、ページ サイズは変更しません。PDFBOX の Java でこれを行うには、どのような方法が推奨されますか? PDFの各ページからフッターを削除するには?

PDRectangle を使用してその中のすべてのテキスト/画像を削除する方法はありますか?

私が試したもののスニペット、setCropBoxで長方形を使用するとページサイズが失われるようです.おそらくcropBoxはこれを意図していませんか?

            PDRectangle rectangle = new PDRectangle();
            rectangle.setUpperRightY(mypage.findCropBox().getUpperRightY());
            rectangle.setLowerLeftY(50);
            rectangle.setUpperRightX(mypage.findCropBox().getUpperRightX());
            rectangle.setLowerLeftX(mypage.findCropBox().getLowerLeftX());                  
            mypage.setCropBox(rectangle);
            croppedDoc.addPage(mypage);
            croppedDoc.save(filename);              
            croppedDoc.close();

私が見つけることができるpdfboxクックブックの例で最も近い例は、ページ全体を削除する方法ですが、これは私が探しているものではありません。ページからいくつかの要素を削除したいだけです: http://pdfbox.apache.org /userguide/cookbook.html

4

2 に答える 2

3

私も初心者ですが、このページ、特にTrimBoxの説明を見てください。ページに TrimBox がない場合は、デフォルトで CropBox に設定されます。

一般に、PDFBoxのドキュメントがPDF自体について多くのことを教えてくれるとは思わないでください-PDFBoxをうまく使用するには、他の場所に行く必要があると思います-私の知る限り、主にPDF仕様だけです。私はまだそれをすくい取ったことさえありません!

于 2012-09-14T00:53:33.117 に答える
2

CropBox は、長方形の領域を表示したままページの一部を削除する場合に適しています。ページ サイズを同じままにしたい場合は、MediaBox を同じままにする必要があります。

PDF仕様から:

CropBox - 四角形(オプション、継承可能) デフォルトのユーザー空間単位で表され、デフォルトのユーザー空間の可視領域を定義する四角形。ページが表示または印刷されるとき、そのコンテンツはこの長方形に切り取られ (切り取られ)、実装定義の方法で出力媒体に配置されます (セクション10.10.1「ページ境界」を参照)。デフォルト値: MediaBox の値。

MediaBox - 四角形(必須; 継承可能) ページが表示または印刷される物理媒体の境界を定義する、デフォルトのユーザー空間単位で表される四角形 (セクション 3.8.4「四角形」を参照) (セクションを参照) 10.10.1、「ページ境界」)。

A は、CropBox と MediaBox を強制的に同じにする (障害のある) アプリケーションとライブラリを見てきました。これがあなたのケースで起こっていることではないことを再確認してください。

また、PDF の座標原点 (0,0) は左下隅であることも考慮してください。一部のライブラリでは左上への変換が行われますが、そうでないライブラリもあります。ライブラリでこれを再確認することもできます。使用しています。

于 2012-09-17T18:26:48.360 に答える