如何计算itextpdf列Text no\u more\u列上重叠的字符数

如何计算itextpdf列Text no\u more\u列上重叠的字符数,itext,Itext,我正在尝试将文本块放置到ColumnText对象中,该对象的文本长度超出了该列所能容纳的长度。。函数go将不返回除此之外的任何列,但如何获得不适合列的剩余字符串?我对列使用自动断字 代码是这样的: PdfContentByte bait=pdfw.getDirectContent(); bait.saveState(); Chunk c=new Chunk(text, font); HyphenationAuto h=new HyphenationAuto("fi", "FI", 2, 2);

我正在尝试将文本块放置到ColumnText对象中,该对象的文本长度超出了该列所能容纳的长度。。函数go将不返回除此之外的任何列,但如何获得不适合列的剩余字符串?我对列使用自动断字

代码是这样的:

PdfContentByte bait=pdfw.getDirectContent();
bait.saveState();
Chunk c=new Chunk(text, font);
HyphenationAuto h=new HyphenationAuto("fi", "FI", 2, 2);
c.setHyphenation(h);
float rowheight=1.3f*font.getSize();
c.setLineHeight(rowheight);
ColumnText ct=new ColumnText(bait); 
ct.setSimpleColumn(100, 100, 300, 300);
ct.setAlignment(com.itextpdf.text.Element.ALIGN_LEFT);
ct.addText(c);
int ret=ct.go();

我尝试了一些方法,比如向块添加字符,然后尝试长时间循环,这样就不会出现更多的列,但列输出之后就不正确了。

您的目标是什么?是否要通过减小字体大小使文本适合?是否要显示不适合其他位置的零件?你想预测文本是否合适吗?ColumnText不允许您访问正在等待呈现的内容,但根据您的需要,可能还有另一种方法。是的,我想在其他地方显示该额外部分。。我从columntext需要的只是列的自动断字和大小调整。如果没有更多的列,可以使用setSimpleColumn和其他参数定义一个新列,然后再次调用go。这不是你需要的吗?你这样做会出什么问题?好的。我必须把所有这些专栏文章放到自己的向量中,然后我可以把它们放回另一个页面和位置。。这很有效。这不是一个理想的情况,因为我必须让所有columntext对象都向量化并处理它们。。我只需要字符串,所以这是一种内存密集型的方式,但现在仍然有效。对于columntext类,在这种情况下还需要一个函数。。字符串或类似的东西。。还有,那也很好。。