POI 为 word docx 文件中的第一页启用不同的 header/footer

POI enable different header/footer for the first page in word docx file

我正在使用 Apache POI 3.13 生成一个 docx 文件,我坚持使用 headers/footers 作为第一页。 我创建 XMPFParagraph[] 没有任何问题。接下来我像这样创建页眉和页脚(我在不同的订单中尝试过):

policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, defaultHeader);
policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, defaultFooter);
policy.createHeader(XWPFHeaderFooterPolicy.FIRST, firstHeader);
policy.createFooter(XWPFHeaderFooterPolicy.FIRST, firstFooter);

生成 docx 文件后,我可以在每个页面(包括第一页)上看到我的默认值 header/footer。但是,如果我 select 在第一页使用不同的 header/footer - 我的第一个页眉和页脚会正确显示。 我怎样才能通过代码使这种情况自动发生?是否有任何包含有关 POI 示例的适当文档?

如果要在某个部分中设置第一页 header,您必须在部分属性标签 (w:sectPr) 中输入标题页标签。扉页标签可以为空,但这是必须的。在您的情况下,您只能添加 2 行代码:

CTSectPr sect = document.getDocument().getBody().getSectPr();
sect.addNewTitlePg();

`此致问候!