Java 如何在新的docx文档中创建页眉/页脚?

Java 如何在新的docx文档中创建页眉/页脚?,java,header,docx,xwpf,Java,Header,Docx,Xwpf,我想用XWPF jars(ApachePOI)在docx文档(一个新文档而不是现有文档)上创建一个页眉和页脚 当我使用XWPFHeaderFooterPolicy=document.getHeaderFooterPolicy()时策略为空,因此我知道如何在新文档中创建它 CustomXWPFDocument document = new CustomXWPFDocument(); XWPFHeaderFooterPolicy policy = document.getHeaderFooterPo

我想用XWPF jars(ApachePOI)在docx文档(一个新文档而不是现有文档)上创建一个页眉和页脚

当我使用
XWPFHeaderFooterPolicy=document.getHeaderFooterPolicy()时策略为空,因此我知道如何在新文档中创建它

CustomXWPFDocument document = new CustomXWPFDocument();
XWPFHeaderFooterPolicy policy = document.getHeaderFooterPolicy();
XWPFHeader head = policy.createHeader(policy.DEFAULT);
head.getListParagraph().get(0).createRun().setText("Hello Header World!");
CTP ctP1 = CTP.Factory.newInstance();
CTR ctR1 = ctP1.addNewR();
CTText t = ctR1.addNewT();
t.setStringValue("Paragraph in header");
XWPFParagraph p1 = new XWPFParagraph(ctP1, document);
XWPFParagraph[] pars = new XWPFParagraph[1];
pars[0] = p1;
policy.createHeader(policy.FIRST, pars);

我也有同样的问题,但没有找到任何解决办法。在本例中,我创建了带有页眉和页脚的模板docx文件,然后对它们进行了更改。我在中找到的这种做法。

如果尚未使用以下代码,则必须向
XWPFDocument文档添加section属性

CTBody body = doc.getDocument().getBody();
CTSectPr sectPr = body.isSetSectPr()? body.getSectPr() : body.addNewSectPr();

谢谢,我以前看过,但对我的申请没有帮助。我的文档已生成,没有tamplate,但我只能使用一个模板恢复页眉和页脚,并将其插入生成的文档中。。。不知道该怎么做
public static void setFooter(XWPFDocument document, String footerText) {
    CTP ctpFooter = CTP.Factory.newInstance();
    ctpFooter.addNewR().addNewT();

    XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, document);
    XWPFRun footerRun = createFormattedRun(footerParagraph);
    footerRun.setFontSize(6);
    footerRun.setText(footerText);
    XWPFParagraph[] parsFooter = new XWPFParagraph[1];
    parsFooter[0] = footerParagraph;

    CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
    XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
    policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter);
}