最近在项目中需要将通过word 富文本編辑器器处理过的文字转换为Word查了很久,大家通常的解决办法是使用Jacob或POI等组件直接生成Word但是都无法将word 富文本编辑器器处理过的文字保留样式并保存为Word,最终以失败而告终无奈只有自己研究Word的格式转换;
分析了转换过程,总体分两个步骤:
1、实现富文本中样式代码的分離;
其实以上两个步骤是相互矛盾的处理过程无法通过Jacob或POI组件加正则表达式过滤解决,于是进行了以下步骤的实验:
2、将word格式保存为html格式通过Edit Plus打开,发现代码中使用了office的命名空间同时使用了office命名空间的标签定义了CSS样式,自己测试了一下将生成的html文件头和尾拷贝出来:代码如下:
以上HTML头是office的命名空间定义。
3、将使用富文本代码粘贴到红色标识的<!-- 富文本代码区 -->中并以doc或docx格式保存文件;
4、大功告成,打開文件时Word将会以“Web版视图”完美显示了富文本样式,成功解决了富文本代码中样式代码并同时保留了格式;
目前研究的仅能保存文字,未处理有图片的代码朋友们可以再研究一下带图片的富文本代码的转换;