2012-02-24 59 views
3

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

+0

请在这篇文章中看看我的答案[如何提取头数据从docx-in-java-using-poi-3-8](http://stackoverflow.com/questions/19393505/ how-to-extract-header-data-from-docx-in-java-using-poi-3-8) – Liquidpie 2014-02-23 13:03:38

回答

1

首先,在您的XWPFDocument上调用getHeaderFooterPolicy(),它返回HeaderFooterPolicy。从中可以确定页面的适当标题(例如默认,第一页等)

一旦你有合适的XWPFHeader你想改变,那么你可以编辑它作为任何其他文件的一部分。您可以获取表格,段落等,然后删除它们,添加新的,更改它们的文本等等。这与编辑主文档的过程完全相同。

+1

您能否提供一些代码示例,让您使用所提到的POI类来编辑标题? – 2012-02-28 11:06:31

+0

尝试查看单元测试,其中提供了很多示例,作为功能正常工作的测试的一部分 – Gagravarr 2012-03-02 17:55:03

+0

此外,标题的工作方式与任何其他文档部分一样,因此一旦您学习了足够的XWPF就能够添加/更改段落和表格,这与标题的过程完全相同 – Gagravarr 2012-03-02 17:55:53

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

+0

当我开始我的项目时,我的想法是一样的,我用电子表格取得了很大的成功,为什么不使用它字也是?这是一个可怕的经历,绝对不会推荐它,除非你有一个纯文字文档。每年当我必须更新Word文档时,每一次都会赢得标题。 – 2016-12-01 20:32:18

3

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

我无法找到与XWPF这样做的一个很好的参考,但下面的说明描述了HWPF,为老年Word文档analagous接口访问头(AKA .doc文档):

要获取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开发几乎停滞不前。有可能你想要做的是计划但尚未得到支持。

+0

您链接到的页面仅谈到HWPF开发目前不是非常活跃 - 大部分努力似乎正在进入XWPF,因为这是大多数人感兴趣的地方 – Gagravarr 2012-02-25 10:34:27

+0

如果您知道有关XWPF提交的任何内容,那么您知道的不仅仅是我做。但是,该页面确实表示“没有任何[XWPF]提交者正在积极添加新功能。” @Gagravarr – Pops 2012-02-25 23:33:26

相关问题