一、开发问题

  html-doc-js,只能处理简单的富文本导出为word,对于编辑器中部分图文和样式会不生效,而wangEditor默认设置有下图这么多,所以要自己尝试找替代方案去解决html内容。

  例如:列表、表情emoji、高度、css样式、图片、视频、表格、代码块等。

  问题1:css样式不生效,解决方法:

    尽量不用内联样式,在导出word时把css样式放在head头部<style></style>中。

    css link 链接,先获取css资源,转换成文本,然后合并在html style中。(待验证)

  问题2: 遇到加粗、下划线、背景颜色等不生效,解决方法:

    最粗暴的改法:换标签写法~

    加粗:    content.replace(/<strong>/g, '<b>').replace(/<\/strong>/g, '</b>')

    背景颜色/下划线:  content.replace(/<mark/g, '<span').replace(/<\/mark>/g, '</span>')

  剩余问题: 要一一验证~

  重点:git仓库已经不更新,没有人维护!有问题自己解决或找替代方案!

二、页面获取wangeditor内容代码

// template
<Wangeditor ref="wangEditor" :editorStyle="{ height: '100%' }" @blur="handleBlur" @change="handleChange" />
 <a-button class="box-download" type="link" size="small" @click="fileDownload()">导出</a-button>

// script
import htmlDocx from 'html-docx-js/dist/html-docx'
import FileSaver from 'file-saver'

handleBlur(content){
  this.$refs.wangEditor.handleSetHtml(content);
   this.$refs.wangEditor.clear(); // 根据实际情况清空编辑器内容
},
handleChange(content){ // 存储编辑器内容
  this.content = content;
},
fileDownload(){
  // 点击导出word文件
  this.$message.warning('导出中...') // 提示语
   let content=`<!DOCTYPE html><html>
              <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              </head>
              <body>
                  <div>
                      ${this.content}
                  </div>
              </body>
            </html>`
   let converted = htmlDocx.asBlob(content); // 针对普通文本导出
     FileSaver.saveAs(converted, `富文本编辑器内容.docx`);
     this.$message.success('导出成功')
},

vue项目获取富文本编辑器wangEditor内容导出为word(html转word格式并下载)的更多相关文章

  1. 轻量级富文本编辑器wangEditor源码结构介绍

    1. 引言 wangEditor——一款轻量级html富文本编辑器(开源软件) 网站:http://www.wangeditor.com/ demo演示:http://www.wangeditor.c ...

  2. 富文本编辑器 - wangEditor 上传图片

    效果: . 项目结构图: wangEditor-upload-img.html代码: <html> <head> <title>wangEditor-图片上传< ...

  3. vue集成百度富文本编辑器

    1.前期工作,访问百度富文本官网下载相应的百度富文本文件,根据后端用的技术下载相应的版本,建议下载最新版UTF-8版 (有图有真相,看图) https://ueditor.baidu.com/webs ...

  4. Vue基于vue-quill-editor富文本编辑器使用心得

    vue-quill-editor的guthub地址,现在市面上有很多的富文本编辑器,我个人还是非常推荐Vue自己家的vue-quill-deitor,虽然说只支持IE10+,但这种问题,帅给别人吧! ...

  5. bbs项目引入富文本编辑器和处理xss攻击和文章预览

    一.富文本编辑上传文章和图片 富文本编辑器我们使用kindeditor,我们首先去官网下载,然后解压,放到我们的static的目录中 然后我们在html中这样使用富文本编辑器 <!DOCTYPE ...

  6. 富文本编辑器(wangEditor)

    近期在产品的开发工作中遇到要使用富文本编辑器的地方.于是对比了几款编辑器, 最后选择了wangEditor. 优点:轻量.简洁.界面美观.文档齐全.   缺点: 相较于百度ueditor等编辑器功能较 ...

  7. Vue集成tinymce富文本编辑器并实现本地化指南(2019.11.21最新)

     tinymce是一款综合口碑特别好.功能异常强大的富文本编辑器,在某些网站,甚至享有"宇宙最强富文本编辑器"的称号.那么,在Vue项目中如何集成呢?这并不困难,只需要参照官方教程 ...

  8. Vue整合Quill富文本编辑器

    Quill介绍 Quill是一款开源的富文本编辑器,基于可扩展的架构设计,提供丰富的 API 进行定制.截止2021年1月,在github上面已有28.8k的star. Quill项目地址:https ...

  9. 轻量级富文本编辑器wangEditor

    开发公司一个系统的时候需要一个富文本编辑器,找了几个,最后选择这个,蛮不错的. 百度搜索wangEditor,进入官网根据所介绍的使用进行开发就可以了,很不错的一个工具.

  10. 给web项目整合富文本编辑器

    给jsp页面整合富文本编辑器下载——删除多余的组件——加入到项目中——参照案例来完成整合步骤:1. 解压zip文件,将所有文件复制到Tomcat的webapps/kindeditor目录下. 2. 将 ...

随机推荐

  1. Linux环境变量,知识点汇总

    一.什么是环境变量? 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数. 环境变量本质就是一张表,保存在内存当中. 该表在用户登录系统的时候 ...

  2. Antd-React-TreeSelect前端搜索过滤

    在开发过程中,但是antd中的搜索会把多余的也会带出来 就例如下图,我们本想去搜索1但是他会把其子节点都带出来,其实我们的本意是像搜2一样或者当中间隔层处理 但是我们该如何解决这样的问题呢如何做到下面 ...

  3. AOP(代理模式)

    利用特性Attribute+反射+代理类实现AOP 一.定义自定义特性 /// <summary> /// 自定义特性,方法执行前调用 /// </summary> publi ...

  4. linux小常识

    一.一般来说著名的linux系统基本上分两大类:1 RedHat系列:Redhat.Centos.Fedora等2 Debian系列:Debian.Ubuntu等RedHat 系列:1 常见的安装包格 ...

  5. k8s Deployment与Service配置样例

    一.Deployment apiVersion: apps/v1 kind: Deployment metadata: name: pie-algorithm-farmland-detection s ...

  6. mysql外键设置失败踩坑记录

    把表里面的数据清空再添加 原因 因为外键一定要对应外面那个表的数据,现在添加外键会导致这个外键的值为空,违反了键的非空约定 理解为已有的数据突然多出来个字段,但是不知道值是什么,那就为空了 主键和外键 ...

  7. Ubuntu 安装 Docker Desktop

    介绍 Docker 有两种版本:Docker Desktop 和 Docker Engine (也称作 Docker CE).Docker Desktop 是带图形界面的版本,非常适合需要在桌面环境中 ...

  8. MacTeX 使用

    MacTeX 是一个 TeX Live 的 macOS 定制版本.它包括: TeX Live GUI 应用程序 Ghostscript 关于 MacTeX 的介绍可以查看 MacTex 主页 安装 b ...

  9. Redis解读(5):Redis深入理解及生产高可用

    Redis单线程如何处理高并发 1.阻塞IO 与 非阻塞 IO Java 在 JDK1.4 中引入 NIO,但是也有很多人在使用阻塞 IO,这两种 IO 有什么区别? 在阻塞模式下,如果你从数据流中读 ...

  10. sicp每日一题[1.45]

    Exercise 1.45 We saw in Section 1.3.3 that attempting to compute square roots by naively finding a f ...