tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin

这篇具有很好参考价值的文章主要介绍了tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。同类程序有:UEditor、Kindeditor、Simditor、CKEditor、wangEditor、Suneditor、froala等等。
TinyMCE的优势:
开源可商用,基于LGPL2.1
插件丰富,自带插件基本涵盖日常所需功能(示例看下面的Demo-2)
接口丰富,可扩展性强,有能力可以无限拓展功能
界面好看,符合现代审美
提供经典、内联、沉浸无干扰三种模式(详见“介绍与入门”)
对标准支持优秀(自v5开始)
多语言支持,官网可下载几十种语言。

客户对老系统提出一个要求:能直接把word中的图片粘贴进编辑器中,否则一张张上传太麻烦了。
网上找到这个插件tinymce-powerpaste-plugin,可满足客户的要求。

tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin,前端,word,编辑器,tinymce,powerpaste,插件

下载

github插件地址:https://github.com/qhx0807/tinymce-powerpaste-plugin
如果打不开,请到这里下载:https://download.csdn.net/download/snans/88111695

目录

tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin,前端,word,编辑器,tinymce,powerpaste,插件
将插件解压缩到tinymce目录下的plugins里。

代码

1. 简易展示

  tinymce.init({
    selector: '#tinymce', // css选择器,和jquery的选择器一个道理,建议直接用id
    language: 'zh_CN', // 需要在官网自己下载一个全局的langs包。同时我提供的powerpaste本身自带一个langs包里面含中文,所以可以100%支持中文。
    plugins: [
      'powerpaste', // plugins中,用powerpaste替换原来的paste
      //...
    ],
    powerpaste_word_import: 'propmt',// 参数可以是propmt, merge, clear,效果自行切换对比
    powerpaste_html_import: 'propmt',// propmt, merge, clear
    powerpaste_allow_local_images: true,
    paste_data_images: true,
    images_upload_handler: function (blobInfo, success, failure) {
      // 这个函数主要处理word中的图片,并自动完成上传;
      // ajaxUpload是自己定义的一个函数;在回调中,记得调用success函数,传入上传好的图片地址;
      // blobInfo.blob() 得到图片的file对象;
      ajaxUpload(blobInfo.blob()).then((data) => {
         // 上传成功后,调用success函数传入图片地址
         success(data.uploadedImageUrl)
       })
     },
    // tinymce的其他配置参数
  })

2.与后台交互

  tinymce.init({
    selector: '#tinymce', // css选择器,和jquery的选择器一个道理,建议直接用id
    language: 'zh_CN', // 需要在官网自己下载一个全局的langs包。同时我提供的powerpaste本身自带一个langs包里面含中文,所以可以100%支持中文。
    plugins: [
      'powerpaste', // plugins中,用powerpaste替换原来的paste
      //...
    ],
    powerpaste_word_import: 'propmt',// 参数可以是propmt, merge, clear,效果自行切换对比
    powerpaste_html_import: 'propmt',// propmt, merge, clear
    powerpaste_allow_local_images: true,
    paste_data_images: true,
    images_upload_handler: function (blobInfo, success, failure, progress) {
        var xhr, formData;
        xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open('POST', 'postAcceptor.php');

        xhr.upload.onprogress = function(e){
            progress(e.loaded / e.total * 100);
        }

        xhr.onload = function() {
            var json;
            if (xhr.status == 403) {
                failure('HTTP Error: ' + xhr.status, { remove: true });
                return;
            }
            if (xhr.status < 200 || xhr.status >= 300 ) {
                failure('HTTP Error: ' + xhr.status);
                return;
            }
            json = JSON.parse(xhr.responseText);
            if (!json || typeof json.location != 'string') {
                failure('Invalid JSON: ' + xhr.responseText);
                return;
            }
            success(json.location);
        };

        xhr.onerror = function () {
            failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
        }

        formData = new FormData();
        formData.append('file', blobInfo.blob(), blobInfo.filename());
        formData.append("id", "abc123");
        
        xhr.send(formData);
    }

粘贴

tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin,前端,word,编辑器,tinymce,powerpaste,插件
无论移除格式还是保持格式,图片都能正常显示,主要是文字格式的清理。

其它

网上网友总结:

3.3.3-308版本

升级内容:

  1. 修复了第一次复制粘贴图片进入tinymce时,images_upload_handler会调用2次的bug;
  2. word中如有图片无法上传(比如图片格式错误,word中可以显示但是tinymce无法显示)增加了错误提示;
  3. 体积更小,大概小了30%;
  4. 猜测:应该与高版本tinymce兼容的更好。因为2.1.10-115是2017年初时候的版本了,那时候对应tinymce3.x,现在是tinymce4.9;

4.0.1-317版本

适用tinymce5.0以上!!!用在5.0以下版本无效。

参考

tinymce6 官方 images_upload_handler
tinymce实现从word直接粘贴并自动上传图片 powerpaste plugin source code
TinyMCE是什么?
TinyMCE简介与入门 \ 上传图片和文件
images_upload_handler(图片上传自定义实现)文章来源地址https://www.toymoban.com/news/detail-618725.html

到了这里,关于tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#:对word中表格进行复制、粘贴并且替换内容

    在我上一篇对于word开发讲述的文章中对word开发进行了一些介绍,今天接着上一篇文章再介绍一下如何复制word中的表格,然后进行粘贴的操作,最后再介绍一下如何替换表格中的文本。 首先如果想要复制word中的表格自然然需要先实例化doc,这个就不写了。不会的伙伴可以去

    2024年02月09日
    浏览(40)
  • React实现文本框输入文字内容动态给图片添加文字信息(多个)并生成新的图片

    收到这个需求的时候,我的内心是崩溃的,脑子里已经跑过一万匹草泥马,内心想这种事为啥不交给ps去做,哪怕是手机里图片编辑也可以做到吧,专业的事交给专业的工具去干不就好了,何必出这种XX需求。后来想想就释然了,反正拿钱干活,干啥不是干,只要给钱,再XX的

    2024年02月06日
    浏览(54)
  • java实现将数据导出为word功能(文字,表格,图片的循环导出)

    这里需要注意的点!!!!!!!!!!!!!!!!! easypoi的版本必须在4.3.0以上,否则在导出图片的时候,只会导出图片的内存地址,却不能显示出图片。  解释一下模板中所填充的东西: 1.像这种:用两个花括号括起来的变量名,到时候会将变量名所指代的数据填充进

    2024年02月02日
    浏览(49)
  • Python实现OCR大批量识别图片文字,并将文字保存到txt文档中,文末源码直接拿!

    在当今数字化时代,图像文字识别(Optical Character Recognition, OCR)技术的应用越来越广泛。 OCR技术可以将印刷体文字转化为可编辑的文本格式,从而方便进行文本分析、数据挖掘等操作。Python作为一种简洁、易用的编程语言,提供了丰富的图像处理和机器学习库,使得实现图

    2024年02月15日
    浏览(51)
  • SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色

    SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色 QQ 109792317 说明:当SecureCRT加载了配色文件后,输出的会被不同颜色高亮显示,但是如果复制粘贴到word中会发现成了纯文本,字体颜色消失了。 如何保留 ? 以下为secureCRT实际输出效果 复制到word中成了纯文本

    2024年02月15日
    浏览(68)
  • [word] word中图片衬于文字下方无法显示 #媒体#微信

    word中图片衬于文字下方无法显示 1、如图,图片“衬于文字下方”,文字下方的图象看不见 2、光标这位到图片上这段文字中,点击“格式”-“边框和底纹”,切换到“底纹”选项卡。可发现这两段文字底纹被设置成“白色”了 3、把“填充”改为“无填充颜色”,即可显示

    2024年02月21日
    浏览(43)
  • Python操作Word水印:添加文字或图片水印

    在Word文档中,可以添加半透明的图形或文字作为水印,以保护文档的原创性,防止未经授权的复制或使用。除了提供安全功能外,水印还可以展示文档创作者的信息、附加的文档信息,或者仅用于文档的装饰。本文将介绍如何使用 Spire.Doc for Python 在程序中的轻松 添加文字和

    2024年02月08日
    浏览(46)
  • vue 集成tinymce2实现图片,视频以及文件的上传

    1. 安装插件 (1)安装tinymce npm install tinymce -S (2)安装tinymce-vue npm install @tinymce/tinymce-vue@3.0.1 -S 2. 复制静态文件到 public 目录 资源下载路径:https://download.csdn.net/download/weixin_44021888/88063970?spm=1001.2014.3001.5503 3. 新建组件:tinymce 注意:如果上传过后的视频,只有一张图片的占位

    2024年02月16日
    浏览(41)
  • ES解析word内容为空的问题和直接使用Tika解析文档的方案

    在上一篇文章最后,我们虽然跑通了ES文件搜索的全部流程,但是仍然出现了1个大的问题:ES7.3实测无法索引docx和doc文档,content有值但是无法解析到附件成为可读的可搜索的内容,附件内容为空(附件中根本没有content这个字段,并非内容为空)。解决的思路是可以直接使用

    2024年04月10日
    浏览(47)
  • jQuery 在图片和文字中插入内容(多种情况考虑)

    昨天接到一个新的需要,在后台文章编辑器中,每一个文章的正文前面,可以单独添加一个电头字段,但是如果在富文本编辑器中最上面就添加图片的话,图片就会把电头和正文中的文字给隔开。需要做的是获取到电头字段,然后在正文中的文字部分的最前面插入电头字段。

    2023年04月25日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包