使用jsPDF在不使用画布的情况下生成具有多个图像的PDF

时间:2018-12-03 19:22:02

标签: jspdf

我正在使用jsPDF创建PDF。成功打印PDF。 PDF将包含多个图像。无法生成包含许多图像的PDF。代码如下。 错误-使用循环变量'i'的最大值调用LoadImage。。我希望使用相应的索引(循环变量)调用回调函数-'LoadImage',该索引是在将回调分配给每个图像的加载事件时设置的。在此先感谢您的时间和支持。感谢您的努力。

var pageCount = 1;
var displayedImagecount = 0;
var imageCount = 0;
var imageArrPageNo = [];
var imageArrImg = [];
var imageArrY = [];
function PrintProduct(doc) {
var rowCount = 0;
var y = 102;

imageCount = document.getElementById("qpartsTable").rows.length * 1 + 1;
for (var i = 1; i <= (document.getElementById("qpartsTable").rows.length - 1); i++) {

    // Image
    var img = new Image();

    imageArrPageNo[i] = pageCount; // pageCount is set and updated whereever requried
    imageArrY[i] = y; // y is updated in loop 
    img.addEventListener('load', function() {
        LoadImage(i, doc);
        });
        img.src = '../Images/product.png';
        imageArrImg[i] = img;

        y += 18;
    }
}
function LoadImage(index, doc) {
    doc.setPage(imageArrPageNo[index]);
    doc.addImage(imageArrImg[index], 'png', 53, imageArrY[index], 20, 20);
    ++displayedImagecount;
    PrintPDF();
}
function PrintPDF() {
    if (displayedImagecount > imageCount) {
        window.open(doc.output('bloburl')); // prints PDF successfully - tested
    }
}

0 个答案:

没有答案