gpt4 book ai didi

java - iText、PageSize A4 - 单位

转载 作者:行者123 更新时间:2023-12-02 03:25:59 24 4
gpt4 key购买 nike

我正在 iText 中创建文档。我需要自定义宽度,但是当它小于 A4 标准宽度时,应将其设置为 A4 标准宽度。

所以我得到:

float pageWidth = columns.size() * 100;
if (pageWidth < PageSize.A4.getWidth()) {
pageWidth = PageSize.A4.getWidth();
}
table.setTotalWidth(pageWidth);

它不起作用,可能是因为 pageWidthPageSize.A4.getWidth() 的单位不同。当我调试这个时,我在 pageWidth 中得到了 900.0 值,并且 PageSize.A4.getWidth() 返回 595.0那么我需要更改什么才能获得相同的单位进行比较?

最佳答案

900 不低于 595,所以 pageWidth<PageSize.A4.getWidth()不正确,并且永远不会执行:pageWidth = PageSize.A4.getWidth();

pageWidth的值永远不会改变。您有 9 列。乘以 100,结果是 900。900 大于 595,所以 pageWidth仍然是 900。

我认为你想要的与你所要求的相反:

float pageWidth = columns.size()*100;
if(pageWidth > PageSize.A4.getWidth()){
pageWidth = PageSize.A4.getWidth();
}
table.setTotalWidth(pageWidth);

现在,当 pageWidth不适合页面,它将减少到 595。

我认为你犯了一个与 iText 完全无关的逻辑错误。

关于java - iText、PageSize A4 - 单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com