パネルの高さは 1600 です。A4 フォーマットの高さは 842 です。このパネルを 2 ページの PDF にエクスポートするにはどうすればよいですか? または、このパネルを 2 つのグラフィックに半分に分割し、最初のページに追加して呼び出しdocument.newPage();
、2 番目のグラフィックを 2 番目のページに追加する方法
質問する
1356 次
1 に答える
1
簡単に言えば、iTextを使用する予定があると仮定すると、
通常の Java 印刷と同様に、java.awt.print.Pageable を実装する必要があります。あなたの例では、Printables になる 2 ページがあります。通常、Printable メソッドで
print(Graphics graphics, PageFormat pageFormat, int pageIndex)
ページ番号に従って入力グラフィックを翻訳します。たとえば、あなたの例では pageIndex*842 で翻訳します。そこにマイナス記号があるかもしれません - 私の経験では、50:50 の確率で正しい方向に進むことができます。:-) 気になる余白もあるかもしれません。
それから、本 iText in Action (第 2 版) を購入し、485 ページを見て、Swing から一般的な PDF を作成する方法を調べてください。
各ページをループします。
for (int pageIndex=0; pageIndex< pageable.getNumberOfPages(); pageIndex++) {
Graphics2D g2d = contentByte.createGraphics(width, height, fontMapper);
Printable printable = pageable.getPrintable(pageIndex);
PageFormat pageFormat = pageable.getPageFormat(pageIndex);
int pageStatus = printable.print(g2d, pageFormat, pageIndex);
if (pageStatus != Printable.PAGE_EXISTS)
break; // something screwey happenned
g2d.dispose();
}
ご想像のとおり、私はこれを行ったばかりで、2 ~ 3 日以内により完全なコードをブログに投稿する可能性があります。お楽しみに。
于 2012-04-29T17:16:31.667 に答える