目录

1       转换为Html文件

2       转换为Xml文件

3       转换为Text文件

在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. }

(注:本文是基于poi3.9所写)

使用POI转换word doc文件的更多相关文章

  1. POI转换word doc文件为(html,xml,txt)

    在POI中还存在有针对于word doc文件进行格式转换的功能.我们可以将word的内容转换为对应的Html文件,也可以把它转换为底层用来描述doc文档的xml文件,还可以把它转换为底层用来描述doc ...

  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. 解决 "Script Error" 的另类思路

    本文由小芭乐发表 前端的同学如果用 window.onerror 事件做过监控,应该知道,跨域的脚本会给出 "Script Error." 提示,拿不到具体的错误信息和堆栈信息. ...

  2. springboot+cloud 学习(六)Docker

    注:由于本人用的是window10系统,docker的版本是Docker Community Edition(Docker CE ). 什么是Docker 按官网的话说,Docker是一个世界领先的容 ...

  3. Python和Java编程题(五)

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的 ...

  4. MyBatis从入门到放弃三:一对一关联查询

    前言 简单来说在mybatis.xml中实现关联查询实在是有些麻烦,正是因为起框架本质是实现orm的半自动化. 那么mybatis实现一对一的关联查询则是使用association属性和resultM ...

  5. VS2010安装MVC3失败的解决方法

    环境:Win 7 x64 原因:在安装MVC3之前,安装过VS2010 SP1,导致MVC3安装,找不到对于的VS2010安装器 vs_setup.msi 问题图片: 解决方法: 一.来自网络的方法 ...

  6. .net Framework 源代码 · ScrollViewer

    本文是分析 .net Framework 源代码的系列,主要告诉大家微软做 ScrollViewer 的思路,分析很简单 看完本文,可以学会如何写一个 ScrollViewer ,如何定义一个 ISc ...

  7. [PHP] 算法-数组归并排序并计算逆序对的个数的PHP实现

    在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%100000000 ...

  8. 洛谷P1742 最小圆覆盖(计算几何)

    题意 题目链接 Sol 暴力做法是\(O(n^3)\)枚举三个点然后check一下是否能包含所有点 考虑一种随机算法,首先把序列random_shuffle一下. 然后我们枚举一个点\(i\),并维护 ...

  9. React 入门学习笔记整理(七)—— 生命周期

    (1)react 生命周期 只有类组件有生命周期,函数组件没有生命周期 1.挂载阶段:这些方法会在组件实例被创建和插入DOM中时被调用: 1)constructor(props) 初始化组件的状态.绑 ...

  10. kvm 安装操作系统问题

    1.出现error processing drive: 解决: --ram 设置到1024 2.分区的时候磁盘文件大小为0 解决:创建虚拟机的时候添加参数ormat=qcow2,size=7,bus= ...