首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PDF.js异步加载多个pdf文件时获取总页面的页数

使用PDF.js异步加载多个pdf文件时获取总页面的页数
EN

Stack Overflow用户
提问于 2019-08-14 23:19:12
回答 1查看 264关注 0票数 1

我正在使用pdfjs加载和合并一些pdf文件。我知道如何显示pdf文档的页码,但在合并文件时,我想显示基于所有pdf文档的总页数的页码。但是因为它是异步的,所以仅仅使用和递增计数器变量是不起作用的。

代码语言:javascript
运行
复制
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页,就这样。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-08-14 23:53:23

我认为您将需要Promise.all或其他类似工具来以正确的顺序从getPage获取页面。这可能会使您的页码设置工作。

代码语言:javascript
运行
复制
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++
  });
});

});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57497620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档