我在设置iText 7.0.4中的表的相对列宽时遇到问题。我从这里尝试了Bruno的示例代码:https://stackoverflow.com/a/41428692/8804951。如果我使用iText 7.0.1执行示例,我会得到Bruno的答案结果:
但是对于更高版本,结果如下所示:
iText网页上的原始示例似乎并未反映出此行为的变化。
答案 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();