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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...