gpt4 book ai didi

java - 通过 CTPageSz 的 POI XWPF 页面大小已关闭

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

我正在尝试通过 Apache POI(3.12 和 ooxml-schemas 1.1)将表插入到 XWPF docx 中。

我正在使用

CTTblWidth oWidth = oTable.getCTTbl().getTblPr().addNewTblW();
oWidth.setType(STTblWidth.PCT);
oWidth.setW(BigInteger.valueOf(iWidth));

设置表格的宽度。经过反复试验,iWidth = 5000 似乎是一个合理的值。

我尝试通过动态获取页面宽度

CTBody oBody = m_oDocx.getDocument().getBody();
if (!oBody.isSetSectPr()) oBody.addNewSectPr();
CTSectPr oSect = oBody.getSectPr();
if (!oSect.isSetPgSz()) oSect.addNewPgSz();
CTPageSz pageSize = oSect.getPgSz();
BigInteger oPageSize.getW();

但是 DINA4 的返回值是 11906,这个值相差很远。即使通过这样的方式减去边距:

oPageSize.getW().subtract(oSect.getPgMar().getRight()).subtract(oSect.getPgMar().getLeft())

我离目标还很远。

有人可以告诉我我在这里缺少什么吗?谢谢

最佳答案

而不是

oWidth.setType(STTblWidth.PCT);

使用

oWidth.setType(STTblWidth.DXA);

STTblWidth.PCT 用于指定百分之五十的宽度。

STTblWidth.DXA 用于指定二十分之一点的宽度。 72 分等于一英寸。

关于java - 通过 CTPageSz 的 POI XWPF 页面大小已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092057/

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