itext边界框中的多行文本

4xrmg8kj  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(550)

有人知道如何在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没有React,所以我不知道如何将它放在给定的位置或更好的位置:边界框。
我怀疑chunks、pdftemplate或者table可能会有所帮助,但我还不知道如何将它们组合起来。tia寻求帮助。

whitzsjs

whitzsjs1#

试试这个:

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的参数为:
短语
左下角(左)
左下y角(底部)
右上角x角(右)
右上角y(上)
行高(前导)
对齐。

wsxa1bj1

wsxa1bj12#

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

相关问题