`
234390216
  • 浏览: 10233213 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462641
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1775538
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398380
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395024
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:679993
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:530899
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1183980
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:467943
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151403
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68154
社区版块
存档分类
最新评论

使用POI转换word doc文件

    博客分类:
  • poi
阅读更多

使用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所写)

分享到:
评论
2 楼 zi_wu_xian 2016-08-19  
用POI读word文件还行,要是写文件还是别用poi,生成的文件格式不标准,用户都不能打开了。要是读取数据库中的数据填充到word模板动态生成word文件还是用PageOffice提供的接口比较好。www.zhuozhengsoft.com的下载中心就可以下载试用开发包,里面有demo
1 楼 pangpang514 2014-04-03  
转换为Text文件时,会将里边的标题中大写数字格式化为小写 如:
转换前:
二、 宣布。
三、 宣布。
四、 宣布。
五、 宣布。
六、 宣布。

转换后:
2 宣布。
3 宣布。
4 宣布。
5 宣布。
6 宣布。

相关推荐

    java Apache poi 对word doc文件进行读写操作

    在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...

    使用poi根据模版生成word文档并转换成PDF文件

    在IT行业中,Apache POI是一个广泛使用的库,主要用于读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。本文将深入探讨如何利用Apache POI框架根据模板生成Word文档,并进一步将其转换为PDF文件。 首先...

    POI实现word和excel在线预览

    在IT行业中,Apache POI是一个广泛使用的库,主要用于读取、写入Microsoft Office格式的文件,包括Word(.doc/.docx)和Excel(.xls/.xlsx)文档。本项目提供的"POI实现word和excel在线预览"是基于Apache POI的一个...

    java 使用POI合并两个word文档.docx

    Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...

    poi将word转换成html、样式 表格 图片处理

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在本案例中,我们关注的是如何使用Apache POI将Word文档转换为HTML格式,并且保持原有的样式、表格...

    POI修改word、excel、pdf、ppt文件属性如作者以及将其转成html

    通过使用POI,开发者可以创建、读取、修改这些文件,并且将它们转换成其他格式,例如HTML。在本篇中,我们将详细探讨如何利用Apache POI库来修改文件属性并进行格式转换。 首先,让我们看看如何使用POI修改文件属性...

    使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如DOC、DOCX、PPT、PPTX、XLS和XLSX。它提供了Java API,使得开发者能够读取、创建、修改这些文件。在本场景中,我们将讨论如何使用POI将...

    java poi把word文档转化为html,支持doc。

    - 加载Word文档:使用POI的`HWPFDocument`类(针对.doc文件)或`XWPFDocument`类(针对.docx文件)打开Word文档。 - 遍历文档内容:通过遍历文档的各个部分,如`Paragraph`、`Table`等,获取其文本和样式信息。 -...

    java使用poi将word文档转为html

    2. **打开Word文档**:使用POI API创建一个`XWPFDocument`对象,如果你处理的是.docx文件,或者`HWPFDocument`对象,如果你处理的是.doc文件。这通常涉及到读取文件并将其流化到内存中。 3. **遍历文档内容**:通过...

    android中poi生成word文档和excel文档

    3. **XML 文件与Word/Excel 文档**:描述中提到了从XML文件中读取数据来生成文档,这可能意味着XML被用作数据存储格式,然后通过POI转换为Word或Excel格式。XML可以更方便地进行数据操作和格式化,然后利用POI将其...

    基于poi实现word/excel转换为HTML(且兼容.doc.docx.xls.xlsx)

    Apache POI 是一个流行的开源库,专为处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。本教程将深入探讨如何使用Apache POI库来实现这些文件向HTML的转换,以实现跨平台和浏览器的兼容...

    利用POI将word转换成html实现在线阅读

    在处理Word文档时,POI使用HPSF(HSMF for POI)来解析和生成文档属性,HWPF用于处理老版本的Word(.doc)文档,XWPF则用于处理新版本的Word(.docx)文档。 转换Word到HTML的核心步骤如下: 1. **读取Word文档**...

    JAVA利用poi完成word转pdf,内容包括两个现成工具类和使用到的所有jar包

    Apache POI是一个流行的库,主要用于处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。在这个场景中,我们将探讨如何使用Apache POI结合其他工具库来实现Word到PDF的转换。 首先,...

    poi完美word转html

    2. 只支持DOC不支持DOCX:代码示例仅适用于旧版的Word文档格式(.doc),对于新版的Word文档格式(.docx),需要使用不同的方法或更高版本的POI库。 六、扩展阅读与资源: 为了更深入地理解和应用Apache POI进行...

    利用POI读取excel写入到word

    在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...

    使用poi替换word中的文字和图片实现打印

    在IT行业中,Apache POI是一个流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.doc/.docx)、Excel(.xls/.xlsx)和PowerPoint(.ppt/.pptx)。本示例将深入探讨如何使用Apache POI库来替换Word文档...

    Java实现doc文件转成docx文件

    `.doc`文件是Microsoft Word早期版本(Word 97到2003)使用的文件格式,而`.docx`则是从Word 2007开始引入的基于XML的格式。这种转换有助于提高文件的兼容性和可编辑性,因为许多现代软件更倾向于支持`.docx`格式。 ...

    poi解析word文档 及 试卷数学公式导入wmf图片转成png图片

    标题中的“poi解析word文档”指的是使用Apache POI库来处理Microsoft Word(.doc或.docx)文件。Apache POI是Java中一个流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Word、Excel和...

    基于poi导出word以及图片

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在本教程中,我们将重点讨论如何利用Apache POI 3.13版本来导出Word文档,并结合图片操作。 ...

Global site tag (gtag.js) - Google Analytics