10

我想为使用 apache poi-3.9 创建的 word 文档设置页边距。我发现它可以使用CTPageMarCTPageMar没有得到解决。我正在使用 apache poi-3.9

我试过这个

CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
    CTPageMar pageMar = sectPr.addNewPgMar();
    pageMar.setLeft(BigInteger.valueOf(720L));
    pageMar.setTop(BigInteger.valueOf(1440L));
    pageMar.setRight(BigInteger.valueOf(720L));
    pageMar.setBottom(BigInteger.valueOf(1440L));
4

2 回答 2

7

据我了解,问题与提供的代码无关,它与缺少CTPageMar类有关。

Apache POI FAQ中清楚地解释了缺失类问题的根源:

要使用新的 OOXML 文件格式,POI 需要一个包含 XSDs 文件格式的 jar [...] 您可以从 POI Maven Repository 手动下载该 jar。

FAQ 中的 URL 不起作用,但您可以在中央 maven repo中找到所需的 jar 。

于 2015-05-05T17:04:33.317 回答
4

要解析该类CTPageMar,您必须将包添加org.apache.poi:ooxml-schema到您的类路径中。相应的 JAR 包含所有模式。您可以在此处找到更多信息。

于 2017-05-07T16:48:41.797 回答