在POI中还存在有针对于word doc文件进行格式转换的功能。我们可以将word的内容转换为对应的Html文件,也可以把它转换为底层用来描述doc文档的xml文件,还可以把它转换为底层用来描述doc文档的xml格式的text文件。这些格式转换都是通过AbstractWordConverter特定的子类来完成的。

1 转换为Html文件

将doc文档转换为对应的Html文档是通过WordToHtmlConverter类进行的。它会尽量的利用Html的方式来呈现原文档的样式。示例代码:

  1. /**
  2. * Word转换为Html
  3. * @throws Exception
  4. */
  5. @Test
  6. public void testWordToHtml() throws Exception {
  7. InputStream is = new FileInputStream("D:\\test.doc");
  8. HWPFDocument wordDocument = new HWPFDocument(is);
  9. WordToHtmlConverter converter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
  10. //对HWPFDocument进行转换
  11. converter.processDocument(wordDocument);
  12. Writer writer = new FileWriter(new File("D:\\converter.html"));
  13. Transformer transformer = TransformerFactory.newInstance().newTransformer();
  14. transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" );
  15. //是否添加空格
  16. transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
  17. transformer.setOutputProperty( OutputKeys.METHOD, "html" );
  18. transformer.transform(
  19. new DOMSource(converter.getDocument() ),
  20. new StreamResult( writer ) );
  21. }

2 转换为Xml文件

将doc文档转换为对应的Xml文件是通过WordToFoConverter类进行的。它可以把doc文档转换为底层用来描述doc文档的Xml文档。示例代码:

  1. /**
  2. * Word转Fo
  3. * @throws Exception
  4. */
  5. @Test
  6. public void testWordToFo() throws Exception {
  7. InputStream is = new FileInputStream("D:\\test.doc");
  8. HWPFDocument wordDocument = new HWPFDocument(is);
  9. WordToFoConverter converter = new WordToFoConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
  10. //对HWPFDocument进行转换
  11. converter.processDocument(wordDocument);
  12. Writer writer = new FileWriter(new File("D:\\converter.xml"));
  13. Transformer transformer = TransformerFactory.newInstance().newTransformer();
  14. transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" );
  15. //是否添加空格
  16. transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
  17. // transformer.setOutputProperty( OutputKeys.METHOD, "html" );
  18. transformer.transform(
  19. new DOMSource(converter.getDocument() ),
  20. new StreamResult( writer ) );
  21. }

3  转换为Text文件

将doc文档转换为text文档是通过WordToTextConverter来进行的。它可以把doc文档转换为底层用于描述doc文档的Xml格式的text文档。示例代码:

  1. /**
  2. * Word转换为Text
  3. * @throws Exception
  4. */
  5. @Test
  6. public void testWordToText() throws Exception {
  7. InputStream is = new FileInputStream("D:\\test.doc");
  8. HWPFDocument wordDocument = new HWPFDocument(is);
  9. WordToTextConverter converter = new WordToTextConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
  10. //对HWPFDocument进行转换
  11. converter.processDocument(wordDocument);
  12. Writer writer = new FileWriter(new File("D:\\converter.txt"));
  13. Transformer transformer = TransformerFactory.newInstance().newTransformer();
  14. transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" );
  15. //是否添加空格
  16. transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
  17. transformer.setOutputProperty( OutputKeys.METHOD, "text" );
  18. transformer.transform(
  19. new DOMSource(converter.getDocument() ),
  20. new StreamResult( writer ) );
  21. }

POI转换word doc文件为(html,xml,txt)的更多相关文章

  1. 使用POI转换word doc文件

    目录 1       转换为Html文件 2       转换为Xml文件 3       转换为Text文件 在POI中还存在有针对于word doc文件进行格式转换的功能.我们可以将word的内容 ...

  2. 使用POI读写Word doc文件

    使用POI读写word doc文件 目录 1     读word doc文件 1.1     通过WordExtractor读文件 1.2     通过HWPFDocument读文件 2     写w ...

  3. android使用POI读写word doc文件

    目录 1     读word doc文件 1.1     通过WordExtractor读文件 1.2     通过HWPFDocument读文件 2     写word doc文件 Apache p ...

  4. 解决 apache poi 转换 word(docx) 文件到 html 文件表格没边框的问题

    一.起因 这几天在做电子签章问题,要通过替换docx文件中的占位符生成包含业务数据的合同数据,再转换成html文件,转换成pdf文件.遇到的问题是:通过apache poi转换docx到html时,原 ...

  5. POI读word doc 03 文件的两种方法

    Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的.在hwpf里面我们使用HWPFDocument来表示一个word doc文档.在HWPFDocument里面有这么几个 ...

  6. POI写入word doc 03 模板的实例

    在使用POI写word doc文件的时候我们必须要先有一个doc文件才行,因为我们在写doc文件的时候是通过HWPFDocument来写的,而HWPFDocument是要依附于一个doc文件的.所以通 ...

  7. POI读写Word docx文件

    使用POI读写word docx文件 目录 1     读docx文件 1.1     通过XWPFWordExtractor读 1.2     通过XWPFDocument读 2     写docx ...

  8. VBA/VBScript提取Word(*.doc)文件中包含的图片(照片)

    VBA/VBScript提取Word(*.doc)文件中包含的图片(照片)   要处理的人事简历表是典型的Word文档,其中一人一份doc,里面包含有个人的照片,如果要把里面的照片复制出来就比较麻烦了 ...

  9. 15个最好的PDF转word的在线转换器,将PDF文件转换成doc文件

    PDF是一种文件格式,包含文本,图像,数据等,这是独立于操作系统的文件类型.它是一个开放的标准,压缩,另一方面DOC文件和矢量图形是由微软文字处理文件.该文件格式将纯文本格式转换为格式化文档.它支持几 ...

随机推荐

  1. Ionic start 创建项目报错

    Installing npm packages... Error with start undefined Error Initializing app: There was an error wit ...

  2. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:4. 设备上报属性

    文档目录: 说明 1. 连接阿里云物联网 2. IoT 客户端 3. 订阅Topic与响应Topic 4. 设备上报属性 4.1 上报位置信息 5. 设置设备属性 6. 设备事件上报 7. 服务调用 ...

  3. MyBatist庖丁解牛(二)

    站在巨人的肩膀上 https://blog.csdn.net/xiaokang123456kao/article/details/76228684 一.概述 我们知道,Mybatis实现增删改查需要进 ...

  4. Codeforces Round #396 (Div. 2) D

    Mahmoud wants to write a new dictionary that contains n words and relations between them. There are ...

  5. 洛谷P2599||bzoj1413 [ZJOI2009]取石子游戏

    bzoj1413 洛谷P2599 根本不会啊... 看题解吧 #include<cstdio> #include<algorithm> #include<cstring& ...

  6. GDB 格式化结构体输出

    转载:http://blog.csdn.net/unix21/article/details/9991925 set print addressset print address on打开地址输出,当 ...

  7. light OJ 1282 - Leading and Trailing 数学 || double技巧

    http://lightoj.com/volume_showproblem.php?problem=1282 #include <cstdio> #include <cstdlib& ...

  8. eCharts基础知识

    eCharts插件介绍 http://echarts.baidu.com/tutorial.html#ECharts%20%E7%89%B9%E6%80%A7%E4%BB%8B%E7%BB%8D

  9. JS常用的技术

    思考与总结 1.模块化 曾看到某大牛说:模块化和组件化是前端开发的一大趋势.所谓的模块化一般是指为了实现一个特定的功能而将所有的代码(对象)封装成一个模块.而AMD就是requireJS为指定模块规范 ...

  10. vue从入门到开发--1-安装脚手架

    一: 1.在文件目录下打开命令窗口(按住shift+右键[在此处打开命令窗口]或者直接ctrl+R打开命令窗口,利用cd选择到自己的文件目录) 2.$ npm install --global vue ...