您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用Apache POI在docx文件中设置普通标头?

如何使用Apache POI在docx文件中设置普通标头?

一个Apache POI单元测试可以涵盖您的实际情况- 您正在寻找TestXWPFHeader#testSetHeader()。它涵盖了从没有设置页眉或页脚的文档开始,然后添加它们

您的代码基本上是这样的:

XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
if (policy.getDefaultHeader() == null && policy.getFirstPageHeader() == null
       && policy.getDefaultFooter() == null) {
   // Need to create some new headers
   // The easy way, gives a single empty paragraph
   XWPFHeader headerD = policy.createHeader(policy.DEFAULT);
   headerD.getParagraphs(0).createRun().setText("Hello Header World!");

   // Or the full control way
    CTP ctP1 = CTP.Factory.newInstance();
    CTR ctR1 = ctP1.addNewR();
    CTText t = ctR1.addNewT();
    t.setStringValue("Paragraph in header");

    XWPFParagraph p1 = new XWPFParagraph(ctP1, sampleDoc);
    XWPFParagraph[] pars = new XWPFParagraph[1];
    pars[0] = p1;

    policy.createHeader(policy.FIRST, pars);
} else {
   // Already has a header, change it
}

有关创建页眉和页脚的更多信息,请参见XWPFHeaderFooterPolicy JavaDocs

它不是最好的,因此理想情况下它可以使用某种形式的灵魂提交补丁以使其更美观(提示……!),但是它可以如单元测试所示

其他 2022/1/1 18:26:43 有433人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶