我正在尝试使用https://www.npmjs.com/package/pdfjs-dist-for-node搜索pdf的文本。
我的代码如下所示:
gettext: function(){
var data = '../static/example.pdf';
return pdfjs.getDocument(data).then(function(pdf) {
var pages = [];
for (var i = 0; i < pdf.numPages; i++) {
pages.push(i);
}
return Promise.all(pages.map(function(pageNumber) {
return pdf.getPage(pageNumber + 1).then(function(page) {
return page.getTextContent().then(function(textContent) {
return textContent.items.map(function(item) {
return item.str;
}).join(' ');
});
});
})).then(function(pages) {
return pages.join("\r\n")
});
}).then(function(pages){
console.log(pages)
});
}
这似乎有效,但它会跳过部分文本。具体来说,它会跳过我在原始pdf文档中无法用鼠标突出显示的内容。有没有办法让pdf.js获取这些数据?
答案 0 :(得分:0)
如果在查看PDF时无法选择文本,则表示它实际上是图像,因此意味着您无法搜索它。< / p>
所以不幸的是,这是不可能的,除非你设置其他东西在PDF上首先做一些OCR以尝试将图像转换为文本。