使用 docx4j 在 Word 中创建部分时添加了额外页面

问题描述 投票:0回答:1

我正在尝试创建一个Word文档并分成不同的部分,以便我可以将不同的标题和方向应用于不同的部分。我能够创建部分,但在文档末尾创建了一个没有内容的额外部分。我怎样才能删除这个? 这些是我的不同部分。

第 1 节

第2节

最后一节

在最后一节中,分节符后面有一个额外的页面,我正在尝试删除它。

这是我用于创建部分的代码

        ObjectFactory factory = Context.getWmlObjectFactory();
        P sectionParagraph = factory.createP();
        wordprocessingMLPackage.getMainDocumentPart().getJaxbElement().getBody().getContent().add(sectionParagraph);

        // Create the section properties (SectPr) for the new section
        SectPr sectPr = factory.createSectPr();
        SectPr.Type sectPrType = factory.createSectPrType();
        sectPrType.setVal("nextPage");

        sectPr.setType(sectPrType);

        SectPr.PgSz pageSz = factory.createSectPrPgSz();
        pageSz.setOrient(STPageOrientation.PORTRAIT);
        sectPr.setPgSz(pageSz);

        // Attach the section properties to the paragraph
        sectionParagraph.setPPr(factory.createPPr());
        sectionParagraph.getPPr().setSectPr(sectPr);

我将此代码添加到不同部分应该结束的位置。

ms-word docx4j
1个回答
0
投票

我可以通过将最后一节的

sectPr
附加到文档而不是段落来解决此问题。

    SectPr sectPr = factory.createSectPr();
    SectPr.Type sectPrType = factory.createSectPrType();
    sectPrType.setVal("nextPage");

    sectPr.setType(sectPrType);

    wordprocessingMLPackage.getMainDocumentPart().getJaxbElement().getBody().setSectPr(sectPr);
© www.soinside.com 2019 - 2024. All rights reserved.