我想在docx文件中创建不同的部分,每个部分都有不同的页码格式(一个部分有1,2,3 ...页码格式,另一个部分有a,b,c,...页码格式等)。我想查看"不同的第一页"每个部分的选项如下图所示:
注意:我尝试过这段代码,但是他们创建的是分页符,而不是分节符:
....
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.addBreak(BreakType.PAGE);
....
另一个代码:
paragraph = document.createParagraph();
paragraph.setPageBreak(true);
这两个代码都创建分页符而不是分节符。
首先,如何创建分节符? 其次,如何设置不同的页码格式? 第三,我如何设置"不同的第一页"每个部分的选项? 感谢。
答案 0 :(得分:1)
POI目前(从POI 3.17开始)支持高级界面中的部分。您将必须了解基础XML并使用CT类来构建您的部分。这是一个高水平的飞行。对于除文档中最后一节之外的所有部分,<sectPr>
元素存储在该部分的最后一段中。对于文档的最后一部分,<sectPr>
元素是<body>
元素的最后一个子元素。您将不得不自己编写代码。也许你可以为项目贡献补丁。
答案 1 :(得分:1)
基于jmarkmurphy的回答,我实现了一些对我有用的东西:
CTBody body = document.getDocument().getBody();
CTSectPr sectPr = body.getSectPr();
if (sectPr != null) {
XWPFParagraph lastParagraph = document.createParagraph();
lastParagraph.getCTP().addNewPPr().setSectPr(sectPr);
body.unsetSectPr();
}
document.createParagraph().setPageBreak(true);