原文地址:https://liujiao111.github.io/2019/07/04/html2word/
背景介绍
由于在项目中需要将富文本生成的HTML文档内容导出为word,并且里面的图片可能来自于用户上传,也可能是来源于网络图片,因此需要在生成的word中做特别的处理。导出的工具使用freemaker,首先说明的是这个也有一定的局限性,在样式匹配度上可能有一定的差异,不过功能是没问题的,先看一下示例。
这是最初设置的模板:
替换的HMTL文本(其中替换为模板的${content}处):
<p>3333333333333333<img src=\"https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1707394542,3094357330&fm=15&gp=0.jpg\" /></p>\n" + "<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n" + "<tbody>\n" + "<tr>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "</tr>\n" + "<tr>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\"> </td>\n" + "<td style=\"width: 10%;\">&am