我的主要目标是使用PDF.js并将解析后的PDF数据发送到前端。 PDF.js库适用于promises并按页码返回文件中的数据。这就是我的问题所在。我不太熟悉promises并在其中创建循环来返回数据。 我的代码目前看起来像这样:
string '1c25e41b-f5b2-4484-b5b8-7d45ac2dd427' (length=36)
我正在尝试将page.getTextContent()信息推送到数组并将数组作为响应发送,但我知道我这样做是错误的。 在这种情况下,如何使循环正常工作的任何想法?
答案 0 :(得分:2)
在我看来,你想要做这样的事情
var pdf = path.join(__dirname, '../../testoutput.pdf');
pdfJsLib.getDocument(pdf).then(function(doc){
var promises = [];
var promiseLimiter ;
for(i = 1; i <= doc.numPages; i++){
//promises.push(doc.getPage(i));
var p = doc.getPage(i).then(function(page){
return page.getTextContent();
var response = [];
if(i == doc.numPages + 1){
promiseLimiter = promises.length;
}
})
promises.push(p);
}
Promise.all(promises).then(function(data){
if(promiseLimiter == doc.numPages){
res.status(200).json(data);
}
})