umediter实现粘贴word图片

图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的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);

};

效果展示:

详细内容可参考这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/ueditor-word%e5%9b%be%e7%89%87%e4%b8%8a%e4%bc%a0/

原文地址:https://www.cnblogs.com/songsu/p/11956777.html

时间: 2024-11-02 09:13:15

umediter实现粘贴word图片的相关文章

kindeditor+粘贴word图片

最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor,有时候用的CKEditor,KindEditor,TinyMCE. 在网上查了很多资料,UEditor和其它的Web编辑器(富文本编辑器)在Chrome中可以支持单张图片粘贴.但是我们的用户需要处理的是Word中的图片和文字,一般情况下Word中的图片可能有十几张.有时候有几十张.特别是用户发一些

xhEditor实现ctrl+v粘贴word图片并上传

自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片.需要用户手动一张张上传Word图片.如果只有一张图片还能够接受,如果图片数量比较多,这种操作就显得非常的麻烦. 1.只粘贴图片并上传到服务器 config.extraPlugins = 'uploadimage'; //config.uploadUrl = '上传路径

ue/um-editor实现word图片复制

图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用,但是项目要求需要支持所有的浏览器,包括Windows和macOS系统.没有办法在网上搜了很多资料终于找到一个产品:WordPaster. 浏览器方面能够支持ie6,ie7,ie8,ie9,ie10,chrome,firefox,edge几乎所有的浏览器. 编辑器基本上也是全部都支持,并且支持vue,整合也比较简单. 首先以um-editor的二进制流保存为例: 打开umed

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片

由于工作需要必须将word文档内容粘贴到编辑器中使用 但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直接解决这个问题 考虑到自己除了工作其他时间基本上不使用windows,因此打算使用nodejs来解决这一问题 发现不管什么编辑器只要将图片转换成base64后就可以直接使用(IE8及一下可能不支持),由于编辑器中添加word文档功能也只是自己用,因此可以忽略这种浏览器了 找了很久,试用了很多编辑器,

Ueditor Word图片转存交互

三.Word图片转存交互 1.图片转存原理 所谓word图片转存,是指UEditor为了解决用户从word中复制了一篇图文混排的文章粘贴到编辑器之后,word文章中的图片数据无法显示在编辑器中,也无法提交到服务器上的问题而开发的一个操作简便的图片转存方案. 该功能的基本操作步骤:复制word文档——>粘贴到编辑器——>编辑器会将所有图片转换成一个占位图,同时在工具栏中高亮转存按钮——>点击转存按钮弹出图片上传框——>点击复制按钮复制图片目录地址——>点击“添加照片”按钮,在弹

ckeditor+粘贴word

最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor,有时候用的CKEditor,KindEditor,TinyMCE. 在网上查了很多资料,UEditor和其它的Web编辑器(富文本编辑器)在Chrome中可以支持单张图片粘贴.但是我们的用户需要处理的是Word中的图片和文字,一般情况下Word中的图片可能有十几张.有时候有几十张.特别是用户发一些

KindEditor3.x-自动上传Word图片功能.

Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法处理多张图片.而且转换成BASE64后是作为内容一起提交给服务器,不能够将图片单独保存在另外一台服务器中.如果需要单独保存则需要自已进行处理.比较麻烦. 我希望打开Word或者WPS文档后,复制内容然后直接粘贴到富文本编辑器中,编辑器自动将图片批量上传到服务器中,无论文档中有多少张图片,编辑器都全部

多区域显示(5)-粘贴为图片链接

多区域显示(5)-粘贴为图片链接 设计要点:页面设计.多窗口.拆分窗口 阿金:其实,俺还有一个想法,就是"粘贴为图片链接" 秀秀:嗯--每个区域做一个链接? 阿金:对呀,各个图片的数据来自不同区域,甚至不同工作簿都行! 秀秀:源数据变化,它也能跟着变? 阿金:对,图片还可以美化,可以显示成三维图片呢. 秀秀:噢,是挺漂亮的. 阿金:关键是比你的"多窗口"漂亮多了! 秀秀:且!总抓"多窗口"的小辫子! 多区域显示(5)-粘贴为图片链接,布布扣,bu

关于word图片显示不全

问题:在编辑word时,在其中一行插入一张图片,但是显示不全. 原因:给文字行距设置成 [ 固定值 ]的原因. 解决方案:先删除图片,在插入图片的一行右键--> 段落,弹出对话框,找到设置行距的地方,选择非[ 固定值 ]其他任何值均可,之后再插入图片就会显示完整的. 关于word图片显示不全