2010-11-17 14 views
1

私は、2つのpdfドキュメントをマージし、結果として得られるpdfドキュメントに指定されたマージンを設定するという要件があります。 PdfReaderまたはPdfImportedPageのいずれかの現在のページマージンフォームを取得する方法はありますか?これらの測定値を取得して、入力ページを変換するかスケールするかを決定したいと考えています。iText APIを使用して現在のページマージンを取得する方法

答えて

4

PDF形式に関する限り、実際にはそういうことはありません。特定のページに定義されている場合と定義されていない場合があります。唯一必要なボックスは、メディアボックスです。

メディアボックス: 'ページサイズ'です。このPDFページを印刷するメディアのサイズ。

クロップボックス:完成したページのサイズ。メディアと作物の差異は、後処理ステップで切り捨てられます。デフォルトはメディアボックスです。

アートボックス:「ページの意味のあるコンテンツ」を含みます。デフォルトはクロップボックスです。

トリムボックス&ブリードボックス:「定格速度」のようなものに関係するプロのプリントハウスでない限り、クロップボックスと似ていますが、まったく異なっています。

アートボックスで運が良ければ(そして私はショックを受けています)、実際の唯一のオプションは、各ページの内容を解析することです(com.itextpdf.text.pdf.parser。*のクラスを使用しています) )、マージンを自分で負担してください。これはエラーが発生しやすくなります。

OTOHの場合、PDFを元々作成していたアプリケーションがPDFにレイアウト情報を埋め込んでいる可能性がある場合は、アプリごとにどのように行ったかを知る必要があります - バージョン)ベース。

0

おそらくこの例は役に立ちます:http://itextpdf.com/examples/iia.php?id=280
これはJavaになっています。どんな文脈にいるのかわからない。

+0

ありがとう、私はこの例を試しましたが、なんらかの理由で、テーブルとイメージを含むPDFドキュメントでNPEが表示されています。このTextMarginFinderがあらゆる種類のPDF文書に使用できるかどうかは疑問です。また、このTextMarginFinderはiText APIに新たに追加されたことがわかりました。 –

関連する問題