Search code examples
javatextpositionitextmultiline

itext multiline text in bounding box


Does anyone know, how to, in iText, add multiline text in bounding box (with coordinates specified).

I tried

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

But it does not support newlines. I also tried

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

This supports newlines but does not react to moveText, so I don't know how to put it at given position or better: bounding box.

I suspect chunks or PdfTemplate or maybe table might help, but i don't (yet) know how to put it together. TIA for help.


Solution

  • Try this:

    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();
    

    parameters of SetSimpleColumn are:

    1. the phrase
    2. the lower left x corner (left)
    3. the lower left y corner (bottom)
    4. the upper right x corner (right)
    5. the upper right y corner (top)
    6. line height (leading)
    7. alignment.