如何使用Apache POI 3.7 API更新.docx
文件的页眉?
答案 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,那么您可以将其编辑为任何其他文档部分。您可以获取表格,段落等,然后删除它们,添加新的,更改它们的文本等。这与编辑主文档的过程完全相同。