如何使用apache poi设置word文档的页边距?

时间:2015-04-22 08:02:40

标签: java ms-word apache-poi docx xwpf

我想为使用apache poi-3.9创建的word文档设置页边距。我发现可以使用CTPageMar完成  但CTPageMar尚未解决。我正在使用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));

2 个答案:

答案 0 :(得分:6)

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

Apache POI FAQ

清楚地解释了缺失类问题的根源
  

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

来自常见问题解答的网址无效,但您可以在central maven repo中找到所需的jar。

答案 1 :(得分:2)

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