博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据图片的URL生成PDF保存到本地(前台js)
阅读量:5266 次
发布时间:2019-06-14

本文共 1135 字,大约阅读时间需要 3 分钟。

//需要引用html2canvas.js和jspdf.js

SavePDF:function(e){

var that = this;
$.post("/Biz/DailyExpenseApply/GetpictureToPDF?expenseApplyId=" + this.expenseApply.ExpenseApplyID,function(res){
_.each(res,function(m){
getBase64(m.FileUrl,(dataURL)=>{
debugger
// 三个参数,第一个方向,第二个单位,第三个尺寸格式
var doc = new jsPDF('landscape','pt',[205, 115])

// 将图片转化为dataUrl

var imageData = dataURL;

doc.addImage(imageData, 'PNG', 0, 0, 205, 115);

doc.save(m.DOCNAME+'.pdf');
//var base64str = doc.output("datauristring");
});
})
})
},

 

function getBase64(url,callback){//获取图片url的地址转换成base64

//通过构造函数来创建的 img 实例,在赋予 src 值后就会立刻下载图片,相比 createElement() 创建 <img> 省去了 append(),也就避免了文档冗余和污染
var Img = new Image(),
dataURL='';
Img.src=url;
Img.οnlοad=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中
debugger
dataURL=canvas.toDataURL('image/jpeg'); //转换图片为dataURL
callback?callback(dataURL):null; //调用回调函数
};
}

转载于:https://www.cnblogs.com/jiangcm/p/8657781.html

你可能感兴趣的文章
我在群硕实习的日子
查看>>
我的10年软件情缘--2001到2011
查看>>
阿里在线笔试题 折半方法求最接近sum值
查看>>
python-字符串
查看>>
Rust初步(六):在C#中使用Rust组件
查看>>
final修饰符
查看>>
django-admin 配置
查看>>
函数的进阶
查看>>
一个简单的网页服务器
查看>>
对百度杀毒软件的评价
查看>>
高级程序设计第六章(2)--创建对象
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
2017年11月Dyn365/CRM用户社区活动报名
查看>>
mysql 数据库磁盘占用量统计
查看>>
七七四十九劫,九九八十一难
查看>>
C++中的链接错误
查看>>
linux 安装 ArcSDE10.1
查看>>
SpringMVC使用AJAX向后台传送对象数组
查看>>
Vue--- 一点车项目 连接数据库
查看>>
JDK源码分析(11)之 BlockingQueue 相关
查看>>