当前位置: 代码迷 >> 综合 >> 将百度富文本编辑器(ueditor)中的内容转化为word文档格式
  详细解决方案

将百度富文本编辑器(ueditor)中的内容转化为word文档格式

热度:22   发布时间:2023-11-21 00:10:01.0

业务场景

需求:根据富文本中的内容生成对应的word文档进行预览和下载功能。
实现: 采用 POIFSFileSystem 类相关实现,能够准确的将文字、格式相关内容转换成功,但是对于在线的网络图片,无法离线浏览或打开。因此最后采用Spire.doc中的工具进行转换(免费版本)。
官网网址:点击跳转

实现步骤

  1. 引入依赖
<dependency><groupId>e-iceblue</groupId><artifactId>spire.doc.free</artifactId><version>2.7.3</version>
</dependency>
  1. 工具类,导出word
public static void exportWord(HttpServletRequest request, HttpServletResponse response, String content, String fileName) {
    try {
    //新建Document对象Document document = new Document();//添加sectionSection sec = document.addSection();ByteArrayOutputStream os = new ByteArrayOutputStream();//添加段落并写入HTML文本sec.addParagraph().appendHTML(content);document.saveToStream(os,FileFormat.Docx);InputStream input = new ByteArrayInputStream(os.toByteArray());//输出文件request.setCharacterEncoding("utf-8");response.setContentType("application/msword");//导出word格式response.addHeader("Content-Disposition", "attachment;filename=" +URLEncoder.encode(fileName, "utf-8") + ".docx");ServletOutputStream ostream = response.getOutputStream();int len =-1;byte []by = new byte[1024];while((len = input.read(by))!=-1) {
    ostream.write(by,0,len);}ostream.close();input.close();} catch (Exception e) {
    e.printStackTrace();}}

在线网络图片,在离线情况下也能够正常预览。

  相关解决方案