jan*_*san 3 javascript node.js pdfjs
我目前正在尝试创建一个实用程序来解析 PDF 中的注释。我可以很好地加载 PDF 文件,注释对象也很好,但我需要获取与这些注释相关的文本(下划线、突出显示等)。
当我尝试使用getTextContent()失败的方法时,这会变得毛茸茸的。下面是发生这种情况的方法:
/**
* @param pdf The PDF document obtained upon `pdfjs.getDocument(pdf).promise` success.
*/
function getAllPages(pdf) {
return new Promise((resolve, reject) => {
let allPromises = [];
for (let i = 0; i < numPages; i++) {
const pageNumber = i + 1; // note: pages are 1-based
const page = pdf.getPage(pageNumber)
.then((pageContent) => {
// testing with just one page to see what's up
if (pageNumber === 1) {
try {
pageContent.getTextContent()
.then((txt) => {
// THIS NEVER OCCURS
console.log('got text');
})
.catch((error) => {
// THIS IS WHERE THE ERROR SHOULD BE CAUGHT
console.error('in-promise error', error)
});
} catch (error) {
// AT LEAST IT SHOULD BE CAUGHT HERE
console.log('try/catch error:', error);
}
}
})
.catch(reject);
allPromises.push(page);
}
Promise.all(allPromises)
.then(() => {
allPagesData.sort(sortByPageNumber);
resolve(allPagesData);
})
.catch(reject);
});
}
Run Code Online (Sandbox Code Playgroud)
调用时pageContent.getTextContent(),应该返回一个承诺,错误“ ReferenceError: ReadableStream is not defined”catch()在try.
这很奇怪,因为我原pageContent.getTextContent().catch()以为能够捕捉到它。另外,我不知道该怎么做才能解决这个问题。
任何帮助表示赞赏。
我注意到使用pdfjs-dist会导致错误。
使用pdfjs-dist/es5/build/pdf.js来代替。
const pdfjs = require('pdfjs-dist/es5/build/pdf.js');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |