0

パネルの高さは 1600 です。A4 フォーマットの高さは 842 です。このパネルを 2 ページの PDF にエクスポートするにはどうすればよいですか? または、このパネルを 2 つのグラフィックに半分に分割し、最初のページに追加して呼び出しdocument.newPage();、2 番目のグラフィックを 2 番目のページに追加する方法

4

1 に答える 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 に答える