2012-11-26 39 views
1

我直接使用PdfContentByte.showTextAligned将内容写入PdfContentByte对象,我想知道在写入时如何停止给定区域溢出的文本。如何截断边界框内的文本?

如果可能的话,如果iText也可以在文本不适合的地方放置一个省略号字符,那就太好了。

我找不到任何方法ColumnText,这将有助于。写作时我不希望内容包装。

回答

1

使用此:

int status = ColumnText.START_COLUMN; 
ColumnText ct = new ColumnText(cb); 
ct.setSimpleColumn(rectangle); 
status = ct.go(); 

确保您的方式定义rectangle,以便只有一条线路适合,使用ColumnText.hasMoreText(status)找出如果你需要添加一个省略号。

+0

试过这个,但数据自动包裹在矩形内。有什么方法可以填写一行,并在其他一些坐标上省略文本,并附加一些额外的文本。 – Tanul

+0

当然可以。这就是'ColumnText'的全部重点。如果数据自动换行,则选择了一个太高的“矩形”。降低身高。你可以检查是否有额外的文字。如果'ColumnText.hasMoreText(status)'返回'true',则可以定义另一个'Rectangle'并运行'ct.go()'将剩余文本的一部分放在另一个位置。 –

+0

文本总宽度为408,我给出了ux:-316和uy:-1。 尝试了uy:-0。它仍然是包装。 – Tanul