iText 7相对列宽不再起作用,启动iText 7.0.2

时间:2017-10-20 06:58:54

标签: itext7

我在设置iText 7.0.4中的表的相对列宽时遇到问题。我从这里尝试了Bruno的示例代码:https://stackoverflow.com/a/41428692/8804951。如果我使用iText 7.0.1执行示例,我会得到Bruno的答案结果:

PDF created with iText 7.0.1

但是对于更高版本,结果如​​下所示:

PDF created with iText 7.0.2

iText网页上的原始示例似乎并未反映出此行为的变化。

2 个答案:

答案 0 :(得分:0)

表格布局算法在版本7.0.2中已更改,如API文档(http://itextsupport.com/apidocs/itext7/latest/com/itextpdf/layout/element/Table.html#Table-float:A-boolean-)中所述。最简单的解决方案是向true的构造函数添加值Table的第二个参数:

Table htable = new Table(new float[] {3, 8, 5, 10, 5, 10, 30}, true);

构造函数的单参数版本现在以点为单位获取绝对列宽。

答案 1 :(得分:0)

这对我来说可以在itext-7.1.3中设置列宽。您可以尝试一下。

Table content = new Table(UnitValue.createPercentArray(new float[]{3,5,10}));
content.setWidth(UnitValue.createPercentValue(100));
content.setFixedLayout();