设置POI XWPFParagraph行间距

时间:2014-08-09 17:50:07

标签: java apache-poi docx

我想在使用POI库创建的文档中的所有段落上设置行间距。 我想将段落行间距设置为1.0,并删除段落前后的空格,但生成的文档继续使用1.15行间距并在段落后添加空格。 这是我的代码:

for (XWPFParagraph paragraph : doc.getParagraphs()) {
        paragraph.setSpacingAfter(0);
        paragraph.setSpacingAfterLines(0);
        paragraph.setSpacingBefore(0);
        paragraph.setSpacingBeforeLines(0);
        paragraph.setSpacingLineRule(LineSpacingRule.EXACT);
        paragraph.setVerticalAlignment(TextAlignment.TOP);
    }

请帮忙, 谢谢,

2 个答案:

答案 0 :(得分:6)

您可以使用以下代码将段落行间距设置为Single:

public void setSingleLineSpacing(XWPFParagraph para) {
    CTPPr ppr = para.getCTP().getPPr();
    if (ppr == null) ppr = para.getCTP().addNewPPr();
    CTSpacing spacing = ppr.isSetSpacing()? ppr.getSpacing() : ppr.addNewSpacing();
    spacing.setAfter(BigInteger.valueOf(0));
    spacing.setBefore(BigInteger.valueOf(0));
    spacing.setLineRule(STLineSpacingRule.AUTO);
    spacing.setLine(BigInteger.valueOf(240));
}

答案 1 :(得分:2)

paragraph.setSpacingBetween(1);

它会在段落行之间创建1的间距。