|
阅读:25320回复:4
Java怎样将富文本导出为word(结帖)
富文本中主要有图片和文字,哪位大哥大姐知道快帮帮忙!
------------------------------------------------------------------------------------------------------------------------ 看到那么多人预览!问题已经解决了,我来回帖,哈哈↓ JAVA将含有图片和文章的富文本导出成word,先说一下思路:由于我们是要用word来解析带图片的富文本(说白了就是解析一段html,当然这段html代码是包含img标签:图片),传统的word模板导出(word另存为xml,在修改后缀为ftl)是行不通的,因为他解析不了html代码(至少我目前没有找到这方便的解决方案,大神勿喷~),这样的话我就要换用一种模板来处理这个模板:word模板另存为mht格式,再修改后缀为ftl。剩下的就是后台操作了,找到你存富文本的字段(html代码)获取里面的img标签,找到图片,并把图片解析为base64字符串,填充到我们只做的模板上就ok了,大体思路就这样了 一、模板制作(这个很重要) 提示:这里模板用office word来做,不要用wps 创建word文件,我这里用第二个content来显示我们要的富文本,然后将我们的word文件另存为mht文件↓ 图片:20160927141347016-1260943894.png ![]() 打开我们的mht文件并处理:在我们的文件里面找到下面这些东西,(拉到最底部) 图片:20160927141347016-1260943894.png ![]() 然后保存一下,再把文件的后缀名改成ftl格式的就ok了(模板处理到此结束) 二、解析html 图片:20160927141347016-1260943894.png ![]() String bodyBlock = handler.getHandledDocBodyBlock(); data.put("content", bodyBlock); 处理后的html代码块 data.put("imagesXmlHrefString", xmlimaHref); data.put("imagesBase64String", handledBase64Block); 三、填充模板
![]() 图片:QQ图片20170818125648.png ![]() 四、导出word(带富文本图的哟) 图片:QQ图片20170818130322.png
五、测试(main) 图片:20160927141347016-1260943894.png
结果结果:(默认导入到D盘) 图片:QQ截图20170818131033.jpg
图片:QQ截图20170818131033.jpg
感谢参考文章:http://www.cnblogs.com/unruly/p/5912011.html [sky丶斌于2017-08-18 13:34编辑了帖子]
|
|
|
沙发#
发布于:2017-08-15 13:59
|
|
|
板凳#
发布于:2017-08-15 13:57
doubleyong:没有遇到过这个问题呢,你百度下,看看呢?回到原帖好的 |
|
|
地板#
发布于:2017-08-15 13:28
通过测试发现,直接复制富文本的内容再粘贴到word能保留格式与图片等信息,可尝试:
1.js脚本复制内容至剪贴板 2.java或者其他语言获取剪贴板内容并写入到word. |
|
|
4楼#
发布于:2017-08-15 13:18
没有遇到过这个问题呢,你百度下,看看呢?
图片:answer.png |
|
|
