【问题标题】:Pdf.js (for node) not rendering entire contents of pdfPdf.js(用于节点)不呈现 pdf 的全部内容
【发布时间】:2017-10-07 16:13:34
【问题描述】:

我正在尝试使用 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 获取这些数据?

【问题讨论】:

标签: javascript node.js pdf pdf.js


【解决方案1】:

如果您在查看 PDF 时无法选择文本,则表示它实际上是一个图像,因此您将无法搜索它。

所以很遗憾,这是不可能的,除非您首先设置其他东西来在 PDF 上执行一些 OCR 以尝试将图像转换为文本。

【讨论】:

  • 我想要获取的文本来自 Acrobat Reader 中可编辑的字段。当我单击其中一个字段时,它会变成一个可以编辑的输入(包括复制+粘贴)。如果这些字段是图像,我认为这是不可能的。然而,当我简单地按全选时,这些并没有突出显示。
猜你喜欢
  • 2015-11-07
  • 2019-11-25
  • 2019-06-29
  • 2014-08-08
  • 2017-05-19
  • 2017-04-14
  • 2015-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多