我正在使用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
}
}