How to truncate text within a bounding box?

Tags: ColumnTextiText 5

I am writing content to a PdfContentByte object directly using:

PdfContentByte.showTextAligned();
I'd like to know how I can stop the text overflowing a given region when writing. If possible it would be great if iText could also place an ellipsis character where the text does not fit. I can't find any method on ColumnText that will help either. I do not wish the content to wrap when writing.

Posted on StackOverflow on Nov 26, 2012 by Brett Ryan

Use this:

int status = ColumnText.START_COLUMN;
ColumnText ct = new ColumnText(cb);
ct.setSimpleColumn(rectangle);
ct.addElement(new Paragraph("Whatever text needs to fit inside the rectangle"));
status = ct.go();

Make sure that you define rectangle in a way so that only one line fits, use ColumnText.hasMoreText(status) to find out if you need to add an ellipsis character.