如何使PdfPTable动态计算列宽

时间:2011-10-07 12:29:08

标签: java itext

我想创建一个包含不同长度字符串的列的PdfPTable。我了解到每个单元格/列的宽度对于每列都是相同的(默认),或者可以设置每列应占据的空间分数。

但是,我希望列尽可能宽,但不能更宽,具体取决于插入的数据。假设表格很容易适合页面(没有中断!)。当然,我可以手动遍历所有数据并计算每列的最大字符串长度,相应地设置表的属性,但我想知道这个常用选项是否已由itext本身提供。

2 个答案:

答案 0 :(得分:3)

iText不是HTML,因此它没有自动调整宽度的选项,而是面向页面,因此您需要以百分比或绝对值来决定宽度。

我害怕做你要求的,你要通过测量宽度来实现你自己的扩展,如你所说。请参阅how to calculate the string with with iText

答案 1 :(得分:-3)

清除列的相对宽度             float [] columnWidths = new float [] {10f,20f,30f,10f};             table.setWidths(列宽);

根据这个链接: enter link description here