如何使用apache poi将word转化为html

如何使用apache poi将word转化为html,第1张

Java可以使用这个开源框架,对word进行读取合并等 *** 作,Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有很多改进,加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。 示例如下:import org.apache.poi.POITextExtractor

import org.apache.poi.hwpf.extractor.WordExtractor

//得到.doc文件提取

org.apache.poi.hwpf.extractor.WordExtractor doc = new WordExtractor(new FileInputStream(filePath))

//提取.doc正文文本

String text = doc.getText()

//提取.doc批注

String[] comments = doc. getCommentsText()

2007

import org.apache.poi.POITextExtractor

import org.apache.poi.xwpf.extractor.XWPFWordExtractor

import org.apache.poi.xwpf.usermodel.XWPFComment

import org.apache.poi.xwpf.usermodel.XWPFDocument

//得到.docx文件提取器

org.apache.poi.xwpf.extractor.XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage(filePath))

//提取.docx正文文本

String text = docx.getText()

//提取.docx批注

org.apache.poi.xwpf.usermodel.XWPFComment[] comments = docx.getDocument()).getComments()

for(XWPFComment comment:comments){

comment.getId()//提取批注Id

comment.getAuthor()//提取批注修改人

comment.getText()//提取批注内容

}

1、实现富文本中样式代码的分离;

2、保留CSS样式;

其实以上两个步骤是相互矛盾的处理过程,无法通过Jacob或POI组件加正则表达式过滤解决,于是进行了以下步骤的实验:

1、首先创建了一个空白word文档,格式(office 2003格式或office 2007格式)不限;

2、将word格式保存为html格式,通过Edit Plus打开,发现代码中使用了office的命名空间,同时使用了office命名空间的标签定义了CSS样式,自己测试了一下,将生成的html文件头和尾拷贝出来:代码如下:

以上HTML头是office的命名空间定义。

3、将使用富文本代码粘贴到红色标识的<!-- 富文本代码区 -->中,并以doc或docx格式保存文件;

4、大功告成,打开文件时,Word将会以“Web版视图”完美显示了富文本样式,成功解决了富文本代码中样式代码,并同时保留了格式;

目前研究的仅能保存文字,未处理有图片的代码,朋友们可以再研究一下带图片的富文本代码的转换;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11419896.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存