通过java设置word文档页边距

通过java设置word文档页边距,java,ms-word,apache-poi,Java,Ms Word,Apache Poi,我使用Java创建了一个文件,我想在其中更改页边距,但我不能 这是我的密码: XWPFDocument document = new XWPFDocument(); XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); paragraph.setAlignment(ParagraphAlignment.LEFT); paragraph.setNumID(Big

我使用Java创建了一个文件,我想在其中更改页边距,但我不能

这是我的密码:

XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();    

paragraph.setAlignment(ParagraphAlignment.LEFT);
paragraph.setNumID(BigInteger.ONE);

run.setFontSize(18);

run.setText("Test");

    try{
        FileOutputStream output = new FileOutputStream("C://WordDocument.docx");
        document.write(output);

        output.close();

    } catch (Exception e){
        e.printStackTrace();
    }
我想做的是类似于
document.setMarginLeft(左边距)
文档。设置页边距右(右)


提前感谢

我想他/她指的是ooxml架构和库

您需要获取文档的正文并添加一个节,然后添加一个
CTPageMar
,此对象提供了为刚刚创建的节设置边距的方法

这对我来说确实有效

值很大,我想10000是一个页面的总宽度,但我不确定,所以请找到您自己指定的值:)


享受

查看已接受的答案:使用
CTPageMar
在我发布问题之前,我已经看到了这一点,不幸的是,无法找到“CTPageMar”。Eclipse建议用它创建一个类。除非需要添加库,但通常eclipse会推荐所需的库。您是否确保使用最新版本的Apache POI,并且您的类路径上有?我从一开始就包含了以下jar:POI-scratchpad-3.10-WORD-20140208.jar、POI-ooxml-schemas-3.10-This-20140208.jar,poi-ooxml-3.10-还有This-20140208.jar,xmlbeans-2.3.0-还有This.jar,dom4j-1.6.1-还有This.jar您应该在回答中添加一些解释。
    XWPFDocument doc = new XWPFDocument();
    CTSectPr sectPr = doc.getDocument().getBody().addNewSectPr();
    CTPageMar pageMar = sectPr.addNewPgMar();
    pageMar.setLeft(BigInteger.valueOf(1500L));
    pageMar.setRight(BigInteger.valueOf(1500L));
    pageMar.setTop(BigInteger.valueOf(2000L));
    pageMar.setBottom(BigInteger.valueOf(1000L));