使用Apache POI更新.docx文件的页眉
如何使用Apache POI 3.7 API更新.docx
文件的页眉?
首先,在XWPFDocument上调用getHeaderFooterPolicy() ,它返回一个HeaderFooterPolicy 。 从那里,您可以识别页面的相应标题(例如,默认,第一页等)
一旦有了想要更改的相应XWPFHeader ,就可以将其编辑为任何其他文档部分。 您可以获取表格,段落等,然后删除它们,添加新的,更改它们的文本等。这与编辑主文档的过程完全相同。
由于您的文档采用.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
提供了一种删除文本中任何宏的方法,这很有用,因为许多页眉和页脚最终会在其中包含宏。
这些指令来自的页面暗示在HWPF中头部支持从来没有那么好,更不用说XWPF了。 对于更多的坏消息, 这个其他Apache页面让人觉得XWPF开发几乎停滞不前。 您想要做的事情可能是有计划的,但尚未得到支持。
使用Apache POI查看使用Java编写Microsoft Word文档
我之前从未使用过Word文件,但是使用POI库来完成excel的东西,它们很容易遵循(它们为excel的行,列,表等建模)所以我假设它们对于Word也同样容易文件。
并快速阅读他们的指南Apache POI – HWPF – 用于处理Microsoft Word文件的Java API