我正在使用pdfjs加载和合并一些pdf文件。我知道如何显示pdf文档的页码,但在合并文件时,我想显示基于所有pdf文档的总页数的页码。但是因为它是异步的,所以仅仅使用和递增计数器变量是不起作用的。
var actual_page = 1;
(async function loop() {
for (url_item of urls) {
var loadingTask = pdfjsLib.getDocument(url_item);
await loadingTask.promise.then(function (pdf) {
let i = 1;
while (i <= pdf.numPages) {
var pageNumber = i;
pdf.getPage(pageNumber).then(function (page) {
//render pdf and print actual_page++
});
}
}
}
}
第一页显示1,第二页显示3,2将出现在第10页,就这样。
提前谢谢。
发布于 2019-08-14 23:53:23
我认为您将需要Promise.all或其他类似工具来以正确的顺序从getPage获取页面。这可能会使您的页码设置工作。
var pagePromises = [];
while (i <= pdf.numPages) {
pagePromises.push(pdf.getPage(i));
i++;
}
Promise.all(pagePromises).then(function (allPages) {
allPages.forEach(page => {
// render pdf and print actual_page++
});
});
});
https://stackoverflow.com/questions/57497620
复制相似问题