使用Apache POI docx在MS Word文档中进行间距和边距设置

时间:2013-07-22 12:07:53

标签: java apache-poi docx

我有两段,我想在每一行之前有100磅的空间。我们可以在Apache POI中做些什么吗?

以下是代码段

XWPFDocument doc = new XWPFDocument();
XWPFParagraph documentTitle = doc.createParagraph();

documentTitle.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run = documentTitle.createRun();

run.setText("Paragraph 1");
run.setBold(true);
run.setFontFamily("Calibri");
run.setFontSize(13);
run.setColor("4F81BD");

run.addBreak();

run.setText("Paragraph 2");
run.setBold(true);
run.setFontFamily("Calibri");
run.setFontSize(13);
run.setColor("4F81BD");

这里如何在两段之间添加100 pt空格?有什么方法可以实现这个目标吗? addBreak()没有在两行之间保留任何空格。

如何在docx中设置边距?

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:6)

得到答案..

    documentTitle.setAlignment(ParagraphAlignment.CENTER);
    // This does the trick
    documentTitle.setSpacingBefore(100);

它在文本的每一行之间留下了100pt的空间

如果要为文档添加自定义边距。使用此代码。

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