使用Apache POI更新.docx文件的页眉

时间:2012-02-24 11:44:52

标签: java file file-io apache-poi .doc

如何使用Apache POI 3.7 API更新.docx文件的页眉?

3 个答案:

答案 0 :(得分:3)

由于您的文档格式为.docx,因此您需要使用POI项目的XWPF组件API。您可能会发现org.apache.poi.xwpf.usermodel.XWPFHeader课程很有用(Javadoc),但我自己从未使用过它。

我无法找到使用XWPF执行此操作的良好参考,但以下说明描述了使用HWPF访问标头,HWPF是旧Word文档的分类界面(AKA .doc docs):

  

要获取Word文档的页眉和页脚,请先创建org.apache.poi.hwpf.HWPFDocument。接下来,您需要创建一个org.apache.poi.hwpf.usermodel.HeaderStores,并将其传递给您HWPFDocument。最后,HeaderStores可让您访问页眉和页脚,包括文档中定义的第一页/偶数页/页数。此外,HeaderStores提供了一种删除文本中任何宏的方法,这很有用,因为许多页眉和页脚最终会在其中包含宏。

page those instructions are from意味着标头支持在HWPF中从来没有那么好,更不用说XWPF了。对于更多坏消息,this other Apache page使得听起来像XWPF开发几乎停滞不前。你想要做的事情有可能是有计划但尚未得到支持。

答案 1 :(得分:2)

查看Writing Microsoft Word Documents in Java With Apache POI

之前我从未使用过Word文件,但是使用POI库完成excel的东西,他们很容易遵循(他们为excel的行,列,表等建模)所以我假设他们同样容易为Word文件做。

快速阅读他们的指南Apache POI - HWPF - Java API to Handle Microsoft Word Files

答案 2 :(得分:1)

首先,在XWPFDocument上调用getHeaderFooterPolicy(),返回HeaderFooterPolicy。从那里,您可以为您的页面识别适当的标题(例如,默认,首页等)

如果您有想要更改的相应XWPFHeader,那么您可以将其编辑为任何其他文档部分。您可以获取表格,段落等,然后删除它们,添加新的,更改它们的文本等。这与编辑主文档的过程完全相同。