js生成word中图片处理方法


Posted in Javascript onJanuary 06, 2018

首先功能是要求前台导出word,但是前后台是分离的,图片存在后台,所以就存在跨域问题。

导出文字都是没有问题的(jquery.wordexport.js),但是导出图片就存在问题了:

图片是以链接形式存到word中,这样如果是需要vpn的网站就会存在生成的word在没有vpn的情况下打不开,有vpn的情况下必须启用编辑才能加载出来图片。

解决办法:将图片转换成Data URL格式,再导出。

详细代码如下所示:

function changeImgToDataurl(){
 var charImg = document.all("exportdom").getElementsByTagName("img"); 
 var imgURLs = ""; 
 for (var i = 0; i < charImg.length; i++) { 
   var imgURL = charImg[i].currentSrc; 
   getBase64(imgURL,charImg[i]);
 } 
}
function getBase64(url,charImg){
  var Img = new Image();
  Img.crossOrigin = "Anonymous";//跨域必须使用,且后台也得设置允许跨域
  dataURL='';
  Img.src=url;
  Img.onload=function(){ //要先确保图片完整获取到,这是个异步事件
   var canvas = document.createElement("canvas"), //创建canvas元素
   width=Img.width, //确保canvas的尺寸和图片一样
   height=Img.height;
   canvas.width=width;
   canvas.height=height;
   canvas.getContext("2d").drawImage(Img,0,0,width,height); //将图片绘制到canvas中
   dataURL=canvas.toDataURL('image/jpg'); //转换图片为dataURL
   condataurl?condataurl(dataURL,charImg):null; //调用回调函数
  };
} 
function condataurl(dataURL,charImg){
 charImg.src=dataURL;
 //console.log(charImg);
}

以上这篇js生成word中图片处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
Jul 08 Javascript
js导入导出excel(实例代码)
Nov 25 Javascript
js清空form表单中的内容示例
May 20 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
vue中 this.$set的用法详解
Sep 06 Javascript
微信小程序中网络请求缓存的解决方法
Dec 29 Javascript
Vue 实现登录界面验证码功能
Jan 03 Javascript
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
解决ant design vue中树形控件defaultExpandAll设置无效的问题
Oct 26 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 #Javascript
浅谈webpack对样式的处理
Jan 05 #Javascript
js实现HTML中Select二级联动的实例
Jan 05 #Javascript
详解tween.js 中文使用指南
Jan 05 #Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 #Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
Jan 05 #Javascript
vue 中directive功能的简单实现
Jan 05 #Javascript
You might like
PHP读取XML值的代码(推荐)
2011/01/01 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
php实现水仙花数示例分享
2014/04/03 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
Prototype Class对象学习
2009/07/19 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
详解vue高级特性
2020/06/09 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
python 画图 图例自由定义方式
2020/04/17 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
python中操作文件的模块的方法总结
2021/02/04 Python
九年级语文教学反思
2014/02/04 职场文书
初三开学计划书
2014/04/27 职场文书
开工仪式策划方案
2014/05/23 职场文书
教室标语大全
2014/06/21 职场文书
好人好事演讲稿
2014/09/01 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
党支部半年考察意见
2015/06/01 职场文书
外科护士长工作总结
2015/08/12 职场文书
建房合同协议书
2016/03/21 职场文书