如何解决jsPDF-AutoTable-使用动态JSON数据的表体内的图像
我想知道如何使用GIT Hub / simonbengtsson的JSPDF Autotable在单元格中插入图像。数据来自本地数据库,并使用AJAX JSON请求获取。
这是应在其中查看签名的空白单元格的屏幕截图。图片为PNG格式。我使用了一个函数将图像转换为Base64格式。
Cell where the image should be stored/viewed
didDrawCell: function (data) {
if (data.row.section === 'body' && data.column.index == 36) {
var src = baseurl + 'assets/images/signatures/client/client.png';
var base64Img;
convert_images(src,function (base64) {
base64Img = base64;
doc.addImage(base64Img,'PNG',data.cell.x,data.cell.y,10,10);
});
}
},function convert_images(src,callback) {
var outputFormat = src.substr(-3) === 'png' ? 'image/png' : 'image/jpeg';
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function () {
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
var dataURL;
canvas.height = this.naturalHeight;
canvas.width = this.naturalWidth;
ctx.drawImage(this,0);
dataURL = canvas.toDataURL(outputFormat);
callback(dataURL);
};
img.src = src;
if (img.complete || img.complete === undefined) {
img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
img.src = src;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。