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

但是对于以后的版本,结果如下:

iText网页上的原始示例似乎还没有反映这种行为的变化。
发布于 2017-10-20 07:11:40
表布局algoritm在版本7.0.2中更改,如API docs (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);构造函数的单参数版本现在以点为单位获取绝对列宽度。
发布于 2018-12-19 12:21:09
对于我来说,这对于设置itext-7.1.3中的列宽度是有效的,您可以试试这个。
Table content = new Table(UnitValue.createPercentArray(new float[]{3,5,10}));
content.setWidth(UnitValue.createPercentValue(100));
content.setFixedLayout();https://stackoverflow.com/questions/46843854
复制相似问题