11

iTextで、境界ボックスに複数行のテキストを追加する方法を知っている人はいますか(座標を指定して)。

私は試した

cb.showTextAligned(
    PdfContentByte.ALIGN_LEFT,
    text,
    bounds.getLeft(),
    TOTAL_HEIGHT-bounds.getTop(),
    0 );

ただし、改行はサポートされていません。私も試しました

PdfContentByte cb = writer.getDirectContent();
cb.moveText(300,400);
document.add(new Paragraph("TEST paragraph\nNewline"));

これは改行をサポートしますが、moveText には反応しません。そのため、特定の位置またはそれ以上の位置に配置する方法がわかりません: バウンディング ボックスです。

チャンク、PdfTemplate、またはテーブルが役立つのではないかと思いますが、それをまとめる方法は (まだ) わかりません。TIAに助けを求めます。

4

2 に答える 2

24

これを試して:

ColumnText ct = new ColumnText(cb);
Phrase myText = new Phrase("TEST paragraph\nAfter Newline");
ct.setSimpleColumn(myText, 34, 750, 580, 317, 15, Element.ALIGN_LEFT);
ct.go();

SetSimpleColumn のパラメーターは次のとおりです。

  1. 表現
  2. 左下×角(左)
  3. 左下の y コーナー (下)
  4. 右上×角(右)
  5. 右上の y コーナー (上)
  6. 行の高さ (先頭)
  7. アライメント。
于 2009-12-30T13:46:34.643 に答える
2
ColumnText ct = new ColumnText(content);
ct.setSimpleColumn(
    new Phrase("Very Long Text"),
    left=20, bottom=100, right=500, top=500,
    fontSize=18, Element.ALIGN_JUSTIFIED);
ct.go(); // for drawing
于 2012-04-16T16:53:16.573 に答える