使用POI转换word doc文件
目录
1 转换为Html文件
2 转换为Xml文件
3 转换为Text文件
在POI中还存在有针对于word doc文件进行格式转换的功能。我们可以将word的内容转换为对应的Html文件,也可以把它转换为底层用来描述doc文档的xml文件,还可以把它转换为底层用来描述doc文档的xml格式的text文件。这些格式转换都是通过AbstractWordConverter特定的子类来完成的。
1 转换为Html文件
将doc文档转换为对应的Html文档是通过WordToHtmlConverter类进行的。它会尽量的利用Html的方式来呈现原文档的样式。示例代码:
/** * Word转换为Html * @throws Exception */ @Test public void testWordToHtml() throws Exception { InputStream is = new FileInputStream("D:\\test.doc"); HWPFDocument wordDocument = new HWPFDocument(is); WordToHtmlConverter converter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); //对HWPFDocument进行转换 converter.processDocument(wordDocument); Writer writer = new FileWriter(new File("D:\\converter.html")); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" ); //是否添加空格 transformer.setOutputProperty( OutputKeys.INDENT, "yes" ); transformer.setOutputProperty( OutputKeys.METHOD, "html" ); transformer.transform( new DOMSource(converter.getDocument() ), new StreamResult( writer ) ); }
2 转换为Xml文件
将doc文档转换为对应的Xml文件是通过WordToFoConverter类进行的。它可以把doc文档转换为底层用来描述doc文档的Xml文档。示例代码:
/** * Word转Fo * @throws Exception */ @Test public void testWordToFo() throws Exception { InputStream is = new FileInputStream("D:\\test.doc"); HWPFDocument wordDocument = new HWPFDocument(is); WordToFoConverter converter = new WordToFoConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); //对HWPFDocument进行转换 converter.processDocument(wordDocument); Writer writer = new FileWriter(new File("D:\\converter.xml")); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" ); //是否添加空格 transformer.setOutputProperty( OutputKeys.INDENT, "yes" ); // transformer.setOutputProperty( OutputKeys.METHOD, "html" ); transformer.transform( new DOMSource(converter.getDocument() ), new StreamResult( writer ) ); }
3 转换为Text文件
将doc文档转换为text文档是通过WordToTextConverter来进行的。它可以把doc文档转换为底层用于描述doc文档的Xml格式的text文档。示例代码:
/** * Word转换为Text * @throws Exception */ @Test public void testWordToText() throws Exception { InputStream is = new FileInputStream("D:\\test.doc"); HWPFDocument wordDocument = new HWPFDocument(is); WordToTextConverter converter = new WordToTextConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); //对HWPFDocument进行转换 converter.processDocument(wordDocument); Writer writer = new FileWriter(new File("D:\\converter.txt")); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" ); //是否添加空格 transformer.setOutputProperty( OutputKeys.INDENT, "yes" ); transformer.setOutputProperty( OutputKeys.METHOD, "text" ); transformer.transform( new DOMSource(converter.getDocument() ), new StreamResult( writer ) ); }
(注:本文是基于poi3.9所写)
相关推荐
在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...
在IT行业中,Apache POI是一个广泛使用的库,主要用于读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。本文将深入探讨如何利用Apache POI框架根据模板生成Word文档,并进一步将其转换为PDF文件。 首先...
Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...
在IT行业中,Apache POI是一个广泛使用的库,主要用于读取、写入Microsoft Office格式的文件,包括Word(.doc/.docx)和Excel(.xls/.xlsx)文档。本项目提供的"POI实现word和excel在线预览"是基于Apache POI的一个...
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在本案例中,我们关注的是如何使用Apache POI将Word文档转换为HTML格式,并且保持原有的样式、表格...
通过使用POI,开发者可以创建、读取、修改这些文件,并且将它们转换成其他格式,例如HTML。在本篇中,我们将详细探讨如何利用Apache POI库来修改文件属性并进行格式转换。 首先,让我们看看如何使用POI修改文件属性...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如DOC、DOCX、PPT、PPTX、XLS和XLSX。它提供了Java API,使得开发者能够读取、创建、修改这些文件。在本场景中,我们将讨论如何使用POI将...
- 加载Word文档:使用POI的`HWPFDocument`类(针对.doc文件)或`XWPFDocument`类(针对.docx文件)打开Word文档。 - 遍历文档内容:通过遍历文档的各个部分,如`Paragraph`、`Table`等,获取其文本和样式信息。 -...
2. **打开Word文档**:使用POI API创建一个`XWPFDocument`对象,如果你处理的是.docx文件,或者`HWPFDocument`对象,如果你处理的是.doc文件。这通常涉及到读取文件并将其流化到内存中。 3. **遍历文档内容**:通过...
3. **XML 文件与Word/Excel 文档**:描述中提到了从XML文件中读取数据来生成文档,这可能意味着XML被用作数据存储格式,然后通过POI转换为Word或Excel格式。XML可以更方便地进行数据操作和格式化,然后利用POI将其...
Apache POI是一个流行的库,主要用于处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。在这个场景中,我们将探讨如何使用Apache POI结合其他工具库来实现Word到PDF的转换。 首先,...
Apache POI 是一个流行的开源库,专为处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。本教程将深入探讨如何使用Apache POI库来实现这些文件向HTML的转换,以实现跨平台和浏览器的兼容...
在处理Word文档时,POI使用HPSF(HSMF for POI)来解析和生成文档属性,HWPF用于处理老版本的Word(.doc)文档,XWPF则用于处理新版本的Word(.docx)文档。 转换Word到HTML的核心步骤如下: 1. **读取Word文档**...
2. 只支持DOC不支持DOCX:代码示例仅适用于旧版的Word文档格式(.doc),对于新版的Word文档格式(.docx),需要使用不同的方法或更高版本的POI库。 六、扩展阅读与资源: 为了更深入地理解和应用Apache POI进行...
在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...
`.doc`文件是Microsoft Word早期版本(Word 97到2003)使用的文件格式,而`.docx`则是从Word 2007开始引入的基于XML的格式。这种转换有助于提高文件的兼容性和可编辑性,因为许多现代软件更倾向于支持`.docx`格式。 ...
标题中的“poi解析word文档”指的是使用Apache POI库来处理Microsoft Word(.doc或.docx)文件。Apache POI是Java中一个流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Word、Excel和...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在本教程中,我们将重点讨论如何利用Apache POI 3.13版本来导出Word文档,并结合图片操作。 ...
在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,包括Word(.doc和.docx)、Excel(.xls和.xlsx)和PowerPoint(.ppt和.pptx)。在这个"使用poi完成的word操作.zip"文件中...