Я создаю PDF, используя jsPDF.Печать PDF успешно.PDF должен содержать несколько изображений.Невозможно создать PDF со многими изображениями.Код как указано ниже. Ошибка - LoadImage вызывается с максимальным значением переменной цикла 'i' .Я хочу, чтобы функция обратного вызова - «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
}
}