使用POI转换word doc文件

转载 2015年07月07日 10:21:59

使用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的方式来呈现原文档的样式。示例代码:

Java代码  收藏代码
  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文档。示例代码:

Java代码  收藏代码
  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.    }  
  22.    

 

3       转换为Text文件

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

Java代码  收藏代码
  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. }  

 

 

apache poi解析word(doc)文档成xml及导出成html

//遇到解析word文档的需求,文档格式不定,在网上看了好多文章,大多是简单应用api解析内容,要不就是需要windows环境,还有个在线编辑的第三方的,不太符合本人需求,目前实现了doc的,docx...
  • sinat_30110061
  • sinat_30110061
  • 2015年07月25日 15:53
  • 1878

Java程序实现Word文档转为pdf以及出现的问题解决

做兽医项目需要用到这种需求,很多程序员都遇到过,有些word文档希望直接在浏览器中打开进行预览,但是浏览器往往不是很配合,直接就提示下载,不像pdf文档,浏览器可以直接进行预览。 1. Word文...
  • u013238430
  • u013238430
  • 2016年10月27日 10:14
  • 11371

java 实现word 转PDF (采用第三方技术 IText、Poi、Jsoup)

先讲讲思路:                        第一步:使用 poi 将word转换成 html,这里代码一搜一堆没什么好说的千篇一律。                         (...
  • ptzrbin
  • ptzrbin
  • 2015年02月03日 14:48
  • 58540

使用POI转换word doc文件

使用POI转换word doc文件 目录 1       转换为Html文件 2       转换为Xml文件 3       转换为Text文件          在POI中还存在有针对...
  • qq_20389175
  • qq_20389175
  • 2015年03月03日 17:03
  • 382

使用POI转换word doc文件

使用POI转换word doc文件 目录 1       转换为Html文件 2       转换为Xml文件 3       转换为Text文件          在POI中还存在有针对...
  • zylzb
  • zylzb
  • 2014年10月27日 17:38
  • 992

使用POI读写word doc文件

Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档。在HWPFDocument里面有这么几个...
  • a8868fhsss
  • a8868fhsss
  • 2016年05月06日 14:11
  • 1891

使用POI读写word doc文件

目录 1     读word doc文件 1.1     通过WordExtractor读文件 1.2     通过HWPFDocument读文件 2     写word doc文件         ...
  • Liuqz2009
  • Liuqz2009
  • 2017年07月28日 11:57
  • 221

使用POI读写word doc文件

使用POI读写word doc文件 目录 1     读word doc文件 1.1     通过WordExtractor读文件 1.2     通过HWPFDocument读文件 2     写w...
  • qq_20389175
  • qq_20389175
  • 2015年03月03日 16:55
  • 549

POI把html写入word doc文件

直接把Html文本写入到Word文件 获取查看页面的body内容和引用的css文件路径传入到后台。把对应css文件的内容读取出来。利用body内容和css文件的内容组成一个标准格式的Html文本...
  • lcczzu
  • lcczzu
  • 2015年07月13日 14:44
  • 1153

使用office的word进行doc(x)->pdf文件的转换

1.适用场景在java环境下也有其他转pdf的工具,但是实际效果很一般,遇到复杂一点的格式就乱了。但是调用word来转效果好多了,目前为止没遇到格式不理想的。 当然局限性就是本机要是windows系统...
  • KanShiMeKan
  • KanShiMeKan
  • 2017年02月28日 17:06
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用POI转换word doc文件
举报原因:
原因补充:

(最多只允许输入30个字)