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 相关文章推荐
利用404错误页面实现UrlRewrite的实现代码
Aug 20 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
Nov 24 Javascript
javascript json 新手入门文档
Dec 03 Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 Javascript
jQuery组件easyui基本布局实现代码
Aug 25 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
PHP中的Memcache详解
2014/04/05 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
Vue.js实现的购物车功能详解
2019/01/27 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
十月份红领巾广播稿
2014/01/22 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
科级干部考察材料
2014/02/15 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
公司业务员岗位职责
2014/03/18 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
三八节活动主持词
2015/07/04 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
Python集合的基础操作
2021/11/01 Python