前言

互联网寒冬一直在持续,不知道大家过的还好吗?不过话说回来,技术过硬,你在哪里都是最靓的仔。今天就给大家补充一点弹药,如何在富文本中插入表情,word文档,及数学公式。

为什么是 TinyMCE

用过百度的vue-ueditor-wrap,据说不更新了,也用过vue-quill-editor,轻量级但扩展性不强。一直以为不存在颜值高,功能又强大的富文本,直到我遇见了它。tinymce,号称宇宙第一富文本编辑器,用官方的话就是 TinyMCE is the world’s most customizable, scalable, and flexible rich text editor

  • 支持Vue、React、Angular当前最流行的三大框架
  • 基础组件丰富,简单配置即可使用
  • 有付费的插件和功能,保证了持续维护和创新,其实免费的也够用
  • 界面简约美观,符合现代审美
  • 支持移动端 TinyMCE Mobile
  • 唯一个从word粘贴过来可以保持绝大部分格式的编辑器

效果展示

插入表情

插入word文档

插入数学公式

安装使用

普通用法这里就不讲了,主要介绍一下如何在vue-cli项目中集成tinymce。网上的方法多而杂,今天就给大家介绍一下官方的集成方法,也是我认为最简单、最靠谱的解决方案。React和Angular官网也有介绍,大家自己研究一哈。

1、官网注册账户

首先登陆 tiny官网 注册自己的账户,注册完登陆,点击左侧的Dashboard,这时你会获得一个自己独有的 API Key,这个 API Key 后面会用到。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A7JaL1fr-1666570508768)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1e92f764587a4fe2bcf361ec7555e967~tplv-k3u1fbpfcp-watermark.image)]

2、安装@tinymce/tinymce-vue

点击右上角的 Read the Tiny Docs,会正式进入官方文档,然后在文档上方的搜索框中输入vue,这样vue相关的集成方法就出来了。

根据vue版本安装不同的@tinymce/tinymce-vue,目前我用的是vue2.x

$ npm install --save "@tinymce/tinymce-vue@^3"

3、在组件中使用tinymce

将下面的官方示例代码复制到自己的vue组件中, 将 api-key 修改为自己刚刚获取的 API Key

<template><div id="app"><editorapi-key="x1vyup3vl25v8l18tt7a9fxxxxxxxxxx8crp5j8m63v9r5":init="init":value="content"@input="onInput"/></div>
</template><script>
import Editor from '@tinymce/tinymce-vue'export default {name: 'app',components: {editor: Editor},data() {return {content: '',init: {height: 500,menubar: false,plugins: ['advlist autolink lists link image charmap print preview anchor','searchreplace visualblocks code fullscreen','insertdatetime media table paste code help wordcount'],toolbar:'undo redo | formatselect | bold italic backcolor | \alignleft aligncenter alignright alignjustify | \bullist numlist outdent indent | removeformat | help'}}},methods: {onInput(content) {console.log(content)}}
}
</script>

搞定, npm run serve 活生生的tinymce就出来啦~~~ 是不是很easy!

插件使用

tinymce可扩展的地方有很多,比如语言、主题、皮肤、插件和图标等。下面主要介绍一下几款插件的使用方法。

表情插件 emoticons

emoticons属于内置插件,使用起来非常简单,只用在pluginstoolbar配置中添加emoticons就可以了。

plugins: ['emoticons'],
toolbar:'emoticons'

插入word文档 importword

importword属于扩展插件,使用方法如下:

  1. 下载 importword插件
  2. 在vue-cli项目的public目录新建tinymce文件夹,然后在tinymce文件下新建plugins文件夹,将下载好的importword插件放在plugins文件夹下
  3. 在vue组件中引入importword插件
plugins: ['importword'],
toolbar: 'importword',
external_plugins: {'importword': '/tinymce/plugins/importword/plugin.min.js'
}

ok,这样插入word的按钮就出现了~~~ DEMO体验地址

数学公式 kityformula-editor

kityformula-editor也属于扩展插件,和上面用法差不多:

  1. 下载 kityformula-editor插件
  2. 在vue-cli项目的public目录新建tinymce文件夹,然后在tinymce文件下新建plugins文件夹,将下载好的kityformula-editor插件放在plugins文件夹
  3. 在vue组件中引入kityformula-editor插件
plugins: ['kityformula-editor'],
toolbar: 'kityformula-editor',
external_plugins: {'kityformula-editor': '/tinymce/plugins/kityformula-editor/plugin.min.js'
}

注意:由于tinymce默认是通过cdn的方式加载远程资源,加载数学公式的kityFormula.html时会报错,这时我们只需要把plugin.min.js里面的tinymce.baseURL修改成本地的tinymce就可以了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0My4Po0R-1666570508770)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b2555bef6df14084ac1930619cd6c24d~tplv-k3u1fbpfcp-watermark.image)]

再次打开数学公式,页面就可以正常显示啦~~~ DEMO体验地址

其实插入数学公式还可以使用wiris的MathType,不仅可以插入数学公式,还是可以插入化学公式。相比于MathType,百度的kityformula-editor体验感更好,但MathType的功能更加强大。这两种方式我都在放在Github中了,欢迎随时下载使用。

Github Demo地址:https://github.com/frontend-afei/tinymce-wiris-demo

分享到此结束,欢迎在评论区留言讨论。听说点赞的同学非富即贵,非帅哥即美女呦~

如何在富文本中插入表情,word文档,及数学公式?相关推荐

  1. 【操作word】Java + POI导出富文本的内容到word文档

    这周工作中,遇到一个需求是需要将数据库中富文本内容导出到word文档里面,于是就采用POI技术实现了一下导出word文档的功能.(word文档是识别html内容的,所以富文本内容也自然能够识别.) 一 ...

  2. 带有富文本数据如何导出word文档(使用mht模板)

    一.制作mht模板 使用word(不能用wps)制作好导出后想要的样子,并使用占位符填充,例如${NAME},设置好格式,另存为.mht格式的文件.之后用文本编辑器打开(我用的notepad++),检 ...

  3. wps在word文档中插入xlsx格式文档会自动打开

    wps中插入xlsx格式文档会自动打开文档,导致报错 在word的开发工具中选择COM加载项 将所有的加载项取消 重新打开文件即可

  4. 插入顶部_最快速地把同一内容插入到Word文档不同页面的相同位置

    您好,欢迎来到[爆炒Office],这里有原创的实用办公软件技巧. 概述 之前也讨论过把同一内容插入到Word文档不同页面的相同位置,类似于logo,但又可以每一页都自由编辑.现在找到一个更好的方法, ...

  5. word 段显示在页面最下方_最快速地把同一内容插入到Word文档不同页面的相同位置...

    您好,欢迎来到[爆炒Office],这里有原创的实用办公软件技巧. 概述 之前也讨论过把同一内容插入到Word文档不同页面的相同位置,类似于logo,但又可以每一页都自由编辑.现在找到一个更好的方法, ...

  6. web系统中巧用word文档的html格式创建多样式的word文档,WEB系统中巧用WORD文档的HTML格式创建多样式的WORD文档...

    以计算机和现代网络技术为特征的现代信息技术极大地促进了社会经济的发展,基于各行各业的WEB系统的开发与应用也越来越多. >> WEB系统中巧用WORD文档的HTML格式创建多样式的WORD ...

  7. 如何将代码插入到Word文档

    如何将代码插入到Word文档 一.planetB 二.Notepad++ 一.planetB 打开planetB网站 http://www.planetb.ca/syntax-highlight-wo ...

  8. 邮件合并发送html,邮件合并HTML格式文本从数据库到Word文档

    我正在做一个邮件合并使用来自SQL数据库的数据集. ,我取回存储在数据库中有一些HTML标记的数据,例如:邮件合并HTML格式文本从数据库到Word文档 我的一个合并域的包含这样的文字: Bullet ...

  9. Word控件Spire.Doc 【超链接】教程(8):在 C#/VB.NET 中链接到 Word 文档中的书签

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

最新文章

  1. python手机版下载3.7.2-Python3.5.2
  2. .net 网页播放器
  3. 【Django】安装及配置
  4. 结对-贪吃蛇-测试过程
  5. linux-shell命令之date【显示/设置系统日期/时间】
  6. switch 条件判断_C语言学习第7篇---C语言三大结构之一判断结构
  7. input之question
  8. 【iOS开发】修改图片的大小分辨率 使用mac
  9. 杭州学车 富阳场口考场考试 经验分享
  10. Dispatch(01)
  11. 安卓第三方ROM----AOKP和CM
  12. wps可以登录网页版_wps网页版入口_WPS个人免费版_点点游
  13. Android 接口的default 方法运行时报错AbstractMethodError
  14. 他们是公众号界的一股清流!
  15. 计算机游戏性能测评,游戏性能测试
  16. Java中 \n \f \r \t 含义
  17. 密码学--对称加密和非对称加密联合使用
  18. linux pt 下载软件,下载工具系列——Deluge (全平台BT/PT下载工具)
  19. 手把手教你如何在Unity中使用UnityGoogle.Protobuf3(三) 序列化与反序列化
  20. Mac app store连接失败 下载一直转圈老毛病解决

热门文章

  1. Android 项目必备(八)--> APP 的开发流程
  2. java 九九乘法口诀
  3. node生成图形验证码
  4. 厨电智能化趋势下,究竟什么才是真正的“用户思维”?
  5. 无需ROOT安卓备份Soul应用数据并提取聊天记录
  6. 金九银十,测试思维面试题最新整理
  7. 华为手机获取root权限
  8. 迅雷11下载报错:下载引擎未启动
  9. -webkit-touch-callout: none;禁止ios弹出菜单,长按图片保存到手机时
  10. 获取股票历史数据(2)——数据保存/数据可视化