HWPF à Microsoft Word 97(-2007) --.doc
XWPF à Microsoft Word 2007 --.docx
HWPF和XWPF提供了相同的功能,但两者之间没有共同的方法。
Package |
Content |
org.apache.poi.hdf |
遗留代码;Internal代码,不能直接使用 |
org.apache.poi.hwpf.model |
遗留代码重构后的代码;Internal代码,不能直接使用 |
org.apache.poi.hwpf.usermodel |
公共代码,主要的接口方法 |
org.apache.poi.hwpf.extractor |
抽取(读取)Word内容信息 |
org.apache.poi.hwpf.converter |
Word-to-HTML, Word-to-FO(使用Apache FOP转换为PDF) |
org.apache.poi.hwpf.dev |
开发者使用 |
HWPF 入口类是 HWPFDocument ,当前(3.10)版本中参考了 org.apache.poi.hwpf.model 和 org.apache.poi.hwpf.usermodel 包中的接口,后期版本中可能会不同的接口。
XWPF 入口类是 XWPFDocument ,从这个类中可以获取段落、图片、表格、标题等信息。
下载包 中的示例比较少,分别在 examples 下的 HWPF 和 XWPF 中;另外,可以从 SVN 上获取部分测试示例代码( HWPF 和 XWPF )。
基础信息读取使用 org.apache.poi.hwpf.extractor.WordExtractor 类,其接受 input Stream 或者 HWPFDocument 作为实例化参数,使用 getText() 方法获取全部 paragraphs ,或者使用 getParagraphText() 获取每个 paragraph 中的文字信息
特定信息读取 为获取特定的文字或元素,首先需要创建 org.apahce.poi.hwpf.HWPFDocumen t实例,通过 getRange() 方法获取所有 range ,然后从中获取所有 paragraphs ,以及更小的元素信息。
页眉页脚信息 获取文档的页眉页脚信息,首先需要创建 org.apahce.poi.hwpf.HWPFDocumen t实例,然后创建 org.apache.poi.hwpf.usermodel.HeaderStores 实例,并将 HWPFDocument 实例作为参数传入。通过 HeaderStores 实例可以获取页眉、页脚、首页、奇数页、偶数页等信息。另外, HeaderStores 可以移除页眉页脚中的宏命令。
修改文本信息 使用( Range 、 Paragraph 、 CharacterRun 中的) insertBefore() 和 insertAfter() 方法可以修改相应文本信息。
其他一些测试示例,见 SVN 。
基础信息读取 通过org.apache.poi.xwpf.extractor.XWPFWordExtractor进行基础信息读取,其接受input steam或XWPFDocument作为实例化参数。调用其getText()方法可以获取所有paragraphs、tables以及headers等中的信息。
特定信息读取 为获取特定文字或元素,首先需要创建 org.apache.poi.xwpf.XWPFDocument 实例,利用实例选择感兴趣的 IBodyElement 要素( Table, Paragraph 等),然后获得一个XWPFRun,最后从XWPFRun中获取文本或属性信息。
页眉页脚信息 获取文档的页眉页脚信息,首先需要创建 org.apache.poi.xwpf.XWPFDocument 实例,然后创建 org.apache.poi.xwpf.usermodel.XWPFHeaderFooter 实例 ,并将HWPFDocument实例作为参数传入。通过 XWPFHeaderFooter 实例可以获取页眉、页脚、首页、奇数页、偶数页等信息。
修改文本信息 从 XWPFParagraph 中,可以获取组成文本信息的 XWPFRun 要素。如果要添加新文本,调用 createRun() 方法或者文本末端添加一个 XWPFRun 要素, insertNewRun(int) 可以 paragraph 的指定位置添加一个 XWPFRun 要素。一旦有了 XWPFRun ,可以调用其 setText(String) 方法修改文本内容,如果想增加一个空白要素,如 tabs 或则 line breaks ,需要调用 addTab() 和 addCarriageReturn() 方法。
其他一些测试示例,见 SVN 。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154309.htm