目录

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. 附实例!实现iframe父窗体与子窗体的通信

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由前端林子发表于云+社区专栏 本文主要会介绍如何基于MessengerJS,实现iframe父窗体与子窗体间的通信,传递数据信息.同时本 ...

  2. java_有秒计时的数字时钟

    题目内容: 这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成.但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做这个题目. 我们需要 ...

  3. cordova极光推送插件使用

    首先是在极光官网注册登录账号,然后创建推送应用,创建完应用之后,点击打开应用,设置应用的包名,保存: 然后回到应用主界面,看到AppKey,以及MasterSecret,这时候MasterSecret ...

  4. prototype、proto和constructor的三角关系

    转载整理自http://www.cnblogs.com/xiaohuochai/p/5721552.html#3760057 http://blog.csdn.net/jasonzds/article ...

  5. css 单位px、em、rem、vh、vw、vmin、vmax区别

    1.px:相对长度单位.像素px是相对于显示器屏幕分辨率而言的. 2.em:相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸. 看下面 ...

  6. 通过jQuery制作电子时钟表的代码

    源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <titl ...

  7. Python 函数的作用域

    python中的作用域有4种: 名称 介绍 L local,局部作用域,函数中定义的变量: E enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: B ...

  8. ajax小知识

    1.ajax发送get请求时,需要注意如下情况: var uri="http://127.0.0.1:8071/springmvcdemo/bigdataapi/publishdata&qu ...

  9. twindows下omcat8安装后,不能启动服务

    原因可能是cmd安装时,不是以管理员的身份运行cmd命令的.解决办法,以管理员身份运行cmd,进入tomcat安装/解压的bin目录下,先执行 service.bat remove 命令卸载服务,之后 ...

  10. typedef struct LNode命名结构指针(线性表的链式存储)

    一.typedef 关键字 1. 简介: typedef工具是一个高级数据特性,利用typedef可以为某一些类型自定义名称. 2. 工作原理: 例如我们定义链表的存储结构时,需要定义结点的存储数据元 ...