小编Joe*_*son的帖子

与pdf.js承诺的麻烦

我正在尝试在Javascript中实现pdf字数.我遇到了使用promises的pdf.js.有没有办法在返回计数之前等到脚本完成?我知道这违背了承诺的想法,但其他js pdf读者有时会产生一堆乱码或什么也不返回.在其当前形式中,该函数始终返回0的字数.

function countWords(pdfUrl){
var pdf = PDFJS.getDocument(pdfUrl);
var count = 0;
pdf.then(function(pdf) {
     var maxPages = pdf.pdfInfo.numPages;
     for (var j = 1; j <= maxPages; j++) {
        var page = pdf.getPage(j);

        var txt = "";
        page.then(function(page) {
            var textContent = page.getTextContent();
            textContent.then(function(page){

            for(var i=0;i<page.items.length;i++){
                txtadd = page.items[i].str
                txt += txtadd.replace(/[^a-zA-Z0-9:;,.?!-() ]/g,'');
            }
                count = count + txt.split(" ").length;

            })
        })
     }
     return count;
});
Run Code Online (Sandbox Code Playgroud)

}

promise pdf.js

2
推荐指数
1
解决办法
3340
查看次数

标签 统计

pdf.js ×1

promise ×1