通过java设置word文档页边距

时间:2014-06-17 11:00:44

标签: java ms-word apache-poi

我使用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( Left_Margin );document.setMarginRight( Right_Margin );

提前致谢

2 个答案:

答案 0 :(得分:1)

我认为他/她的意思是ooxml-schemas库和rest dependencies

答案 1 :(得分:0)

你需要获取文档的正文并添加一个Section,然后添加CTPageMar,这个对象提供了为刚创建的部分设置边距的方法。

这实际上对我有用,

值很大我想10000是页面的总宽度但是我不确定它,所以找到你自己想要的值:)

    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));

享受