最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是使用Jacob或POI等组件直接生成Word,但是都无法将富文本编辑器处理过的文字保留样式并保存为Word,最终以失败而告终,无奈只有自己研究Word的格式转换;
分析了转换过程,总体分两个步骤:
1、实现富文本中样式代码的分离;
2、保留CSS样式;
其实以上两个步骤是相互矛盾的处理过程,无法通过Jacob或POI组件加正则表达式过滤解决,于是进行了以下步骤的实验:
1、首先创建了一个空白word文档,格式(office 2003格式或office 2007格式)不限;
2、将word格式保存为html格式,通过Edit Plus打开,发现代码中使用了office的命名空间,同时使用了office命名空间的标签定义了CSS样式,自己测试了一下,将生成的html文件头和尾拷贝出来:代码如下:
[html] view plaincopy
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<!-- 富文本代码区 -->
</html>
以上HTML头是office的命名空间定义。
3、将使用富文本代码粘贴到红色标识的<!-- 富文本代码区 -->中,并以doc或docx格式保存文件;
4、大功告成,打开文件时,Word将会以“Web版视图”完美显示了富文本样式,成功解决了富文本代码中样式代码,并同时保留了格式;
java代码
public class HtmlToWord {
@Test
public void htmlToWord() throws IOException{
File file = new File("D:\\77.doc");
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
StringBuffer sb = new StringBuffer("");
fos.write("<html xmlns:v=\"urn:schemas-microsoft-com:vml\"".getBytes());
fos.write("xmlns:o=\"urn:schemas-microsoft-com:office:office\"".getBytes());
fos.write("xmlns:w=\"urn:schemas-microsoft-com:office:word\"".getBytes());
fos.write("xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"".getBytes());
fos.write("xmlns=\"http://www.w3.org/TR/REC-html40\">".getBytes());
fos.write("<body>".getBytes());
fos.write("<img width=554 height=577 src=\"1212.jpg\">".getBytes());
fos.write("</body>".getBytes());
fos.write("</html>".getBytes());
}
}
分享到:
相关推荐
java利用poi把html网友转换成word文档的小例子,包含程序代码和jar包。
批量的把html 文件转换成word,不需要电脑上有word软件!并且支持本地图片,html链接的图片必须在本地,可以把图片转换到word里!
Word 转换成 Html Word 转换成 Html Word 转换成 Html 注意:转换时会删除原文件,一定要备份原文件 注意:转换时会删除原文件,一定要备份原文件 注意:转换时会删除原文件,一定要备份原文件 注意:转换...
txt,word,wps到html格式转换的写法
word转换成HTML(C#) word转换成HTML(C#) word转换成HTML(C#)
PDF快速转换成HTML,WORD,EXCEL,PPT软件
pdf转换成word转换器还支持多种流行文档格式之间转换,比如pdf转成word,rtf转换成word,txt转成word,html转换成word,xls转换成word,ppt转换成word,xml转换成word,使用pdf 转 word无需安装Adobe Acrobat,...
Word2Htm是一款先进的Word转换Htm/Html的工具,该工具不像别的软件直接Word另存为Htm/Html,那样会产生很多垃圾代码,本软件可以智能分析Word中的代码,将Word文档转换为有条理、结构清晰、内容简洁的Htm/Html文档,...
java中html转word方法以及用到的jar包,此方法是将html源码以字符串的形式进行转换,转换到word文件中,支持图片以及文字等信息。但是不支持视频等信息
比如文件下载,可以使用这个Js来实现,不用单独再去传word版本,还有就是有些文件还找不到word版,就可以用这个来实现
很易用的PDF格式转换器,支持PDF转换Word/DOC、PDF转换图片格式( JPG/BMP/GIF/PNG/TIF)、PDF转换TXT、PDF转换HTML、PDF转换Flash/SWf
1.用户导入word生成pdf -首先导入word的时候读取word里面的全部内容。调用(ReadAndWriteDoc)然后将内容 传送到createPdf里面生成pdf。导入的时候读取采用poi /生成的时候采用的是...4.将html转换成pdf(itext)
利用appache poi将word文档转换成HTML便于前台预览,如果预览仅限于文字的话,这个完全能够满足,对于文档中包含表格,图片就不太适合了。jar包都有可以直接导入项目运行
批量的把html 文件转换成word,不需要电脑上有word软件!并且支持本地图片,html链接的图片必须在本地,可以把图片转换到word里! 代码简单,没有注释! 不喜勿喷!
html解析为word,并保存为word文档
word批量转换html 自动添加自动转换
C# 将Word,Excel转换成Html. 看看就能明白。C#直接将Word,Excel转换成Html。
html文件转为word文件 若有需要html页面的文章需要转为word格式的文件,可以通过此程序进行转换。 将html内容转为word格式的文件。
拥有这款PDF转换器,您相当于有了WORD转PDF转换器,PDF转WORD转换器,PDF转DOC转换器,PDF转TXT转换器,PDF转HTML转换器,PDF转JPG转换器,PDF转HTML转换器,PDF转FLASH转换器,DOC转PDF转换器,TXT转PDF转换器,...
Word2HTML是一款可以把Word文档转换为HTML格式网页文件,生成类似微软MSDN在线帮助文档的软件。支持多个文档一次性合并转换,完美效果及个性设置,一分钟即可完成几百页文档的转换。Word2HTML!是您建立在线文档中心...