首页 > 其他分享 >能粘贴Word 内容(含图片)的HTML编辑器

能粘贴Word 内容(含图片)的HTML编辑器

时间:2023-05-11 16:12:19浏览次数:48  
标签:控件 Word text base64 编辑器 HTML 整合 items var

 图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码
目前限chrome浏览器使用
首先以um-editor的二进制流保存为例:
打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。
加入下面的代码:

//判断剪贴板的内容是否包含文本

//首先解释一下为什么要判断文本是不是为空

//在ctrl+c word中的文字或者图片之后会返回1种(image/png)或者4种type(text/plain,text/html,text/rtf,image/png)类型的对象

//为了兼容4种格式的情况,做了如下的判断

//如下代码:e.originalEvent.clipboardData.items获得剪贴板的内容

//当粘贴了文本之后text是不为空的,同时也会返回当前文本的图片类型

//如果有文字的话不做任何的处理,如果只粘贴图片的话文本一定是空的,包括复制的桌面图片或者截图的图片

var text = e.originalEvent.clipboardData.getData("text");

if(text == ""){

    var items=e.originalEvent.clipboardData.items;

     for (var i = 0, len = items.length; i < len; i++) {

        var item = items[i];

       if ( item.kind == 'file' && item.type.indexOf('image/') !== -1 ) {

         

              var blob = item.getAsFile();

              getBase64(blob, function( base64 ) {

              //sendAndInsertImage(base64,me); 上传到服务器

               setBase64Image(base64,me);

              });

              //阻止默认事件, 避免重复添加;

              e.originalEvent.preventDefault();

             };

        }

}

两个方法:

//执行插入图片的操作

function setBase64Image(base64,editor){

    editor.execCommand('insertimage', {src: base64,_src: base64});

}

//获得base64

function  getBase64(blob, callback) {

    var a = new FileReader();

    a.onload = function(e) {callback(e.target.result);};

    a.readAsDataURL(blob);

};

效果展示:

 

 

视频教程:

动易SiteFactory 4.7整合,动易SiteFactory 5.6整合,动易SiteFactory 6.2整合,PbootCMS整合,PHPCMS v9整合,dedecms 5.7-ueditor整合,dedecms 5.7-ckeditor3x整合,帝国CMS-ueditor整合,帝国CMS-ckeditor4x整合,dokuwiki整合,Windows控件安装,macOS控件安装,linux-deb控件安装,linux-rpm控件安装,uos控件安装,linux-银河麒麟控件安装,

 

更多详细资料可以参考这篇文章:

详细思路及源码

示例下载:

wordpaster-vue3-cli-ueditor1.5wordpaster-vue-ueditor1.5wordpaster-asp.net-ueditor1.5xwordpaster-php-ueditor1xwordpaster-jsp-ueditor1x​

标签:控件,Word,text,base64,编辑器,HTML,整合,items,var
From: https://www.cnblogs.com/songsu/p/17391360.html

相关文章

  • Component name "tag" should always be multi-word.
    Componentname"tag"shouldalwaysbemulti-word.这种错误通常是由于编码规范或代码风格指南中的命名规范没有被遵守所导致的。vue中,我命名一个组件叫tag好像不符合规范,应该怎么命名?在Vue中,如果你要命名一个组件,可以采用驼峰式命名法,即使用多个单词组成的名称,每个单词的首......
  • 本地多张图片直接复制到富文本编辑器中
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • 【HTML】Echart图表
    layui-echarts简介基于layui实现的echart图表Echart官网示例Echart示例下载EchartEchart下载我们选择最下面的在线定制我这里就按照它默认选择的,后续以上面三个为梨子。下载完成后,访问工程里面,并引入页面。环境jdk1.8ideamavenspringboot2.1.1.RELEASE......
  • layUI的富文本编辑器赋值问题
    layUI中富文本编辑器的特点先获取div的id,然后再给div上面的文本赋值,然后调用富文本编辑器特有的组件,进一步给它赋值,就可以实现了varele=document.getElementById("msg-input");//获取文本域的idconsole.log(e.target.responseText);ele.value=ele.value+e.target.respo......
  • wordpress 为自定义类型文章新增自定义字段
    wordpress强大之处在于有很强的可自定义性,使得插件、主题的开发变得及其便利。就拿我们今天要说的自定义文章添加自定义字段来说,就很便捷。        比如我们要录入一个客户信息到wordpress中,那么需要的字段可不仅仅是什么标题、内容、摘要这么简单了,我们可能需要录入客户......
  • react-html2canvas-jspdf 自动分页导出pdf
    //新建exportPDF.js文件importhtml2canvasfrom'html2canvas';importjsPDFfrom'jspdf';functiongeneratePDF(id,title){ //下载pdf方法 letdemo=document.getElementById(id); demo.style.overflow='visible'; html2canvas(......
  • html实现三角形
    .sanJiao-top{ width:0; height:0; border-bottom:50pxsolidred; border-left:50pxsolidtransparent; border-right:50pxsolidtransparent; } 原理参考:https://blog.csdn.net/pe......
  • Html
    IE浏览器已经废弃测试现在使用谷歌火狐等页面的三个要素结构html样式css交互javascript超文本指的是超链接从一个页面跳转到另一个页面(所有内容都要有标签)文档声明1.3标签<标签名>内容</标签名>带/表示结束1.4属性属性总是以名称/值对的形式出现。nam......
  • 本地图文直接复制到富文本编辑器中
    ​ 当前功能基于PHP,其它语言流程大抵相同。大概流程:1.将docx文件上传到服务器中2.使用PHPoffice/PHPword实现将word转换为HTML3.将HTML代码返回并赋值到编辑器中 1编辑器配置修改1.1新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /*......
  • html css 等比例缩放
    来自:https://blog.csdn.net/chenrui310/article/details/129365208侵删letcw=1920,ch=1080//默认letbody=document.getElementById('body')body.style.width=`${cw}px`body.style.height=`${ch}px`//对bo......