js生成word中图片处理方法
2019/6/27 20:28:54
本文主要是介绍js生成word中图片处理方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先功能是要求前台导出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中图片处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于js生成word中图片处理方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Vue.js 是什么-icode9专业技术文章分享
- 2024-11-01Vue3入门教程:从零开始搭建第一个Vue3项目
- 2024-11-01详解vueRouter4基础教程
- 2024-11-01Vuex4课程:初学者的完整入门指南
- 2024-10-31Vue3课程:新手入门到初级掌握
- 2024-10-31Vue3课程:新手入门到初级应用详解
- 2024-10-31VueRouter4课程:新手入门与实战指南
- 2024-10-31Vuex4学习:从入门到初级实战教程
- 2024-10-31Vue3教程:新手入门与基础实战
- 2024-10-31Vue教程:新手快速入门指南