【问题标题】:How to extract text from PDF?如何从PDF中提取文本?
【发布时间】:2019-12-05 20:26:10
【问题描述】:

我正在使用 NodeJS 创建一个 React 应用程序,它需要从用户上传的 PDF 中获取一些文本。

我已经尝试过使用:pdf-parse、pdf2json、pdf.js 和 react-pdf-js。该文件应该由用户选择,并且所有这些库都使用路径来访问该文件。我该怎么办? PS1:我正在使用 input type='file' 按钮来获取文件。

代码必须同时适用于 NodeJS 和 Web 浏览器

【问题讨论】:

    标签: javascript node.js pdf


    【解决方案1】:

    你没有上传任何代码sn-p,所以我的回答是根据这个场景

    你可以看到这个例子,这是“如何使用pdf.js”的完美例子

    http://git.macropus.org/2011/11/pdftotext/example/

    这是git上的代码 https://github.com/hubgit/hubgit.github.com/tree/master/2011/11/pdftotext

    但我认为您必须根据您的要求进行一些更改

    享受..

    【讨论】:

    • 这就是重点,pdf.js需要文件路径,我怎么说,我需要在web上运行。
    • 你需要什么,如果你想在nodeJs中解析pdf(在服务器端),那么你还必须给出文件的路径!!!现在我不确定你的问题到底是什么:P
    【解决方案2】:

    我正在回答我自己的问题。首先,我创建一个常规的 html 输入。

    <input type='file'/>
    

    我正在使用 React,所以我使用 onChange 属性代替 id。 因此,当用户输入文件时,会激活一个功能,我使用以下代码获取文件:

    const file = event.target.files[0];
    

    file 没有路径,PDF.JS 使用该路径获取真实文件。 然后我使用FileReader 将文件转换为位数组(我猜):

    const fileReader = new FileReader();
    

    然后我们在fileReader.onload设置一个函数,该函数可以在here找到

    fileReader.onload = function() {...}
    

    最后我们这样做了:

    fileReader.readAsArrayBuffer(file);
    

    重要 PS:pdf.pdfInfo 在新的 PDF.JS 版本中必须替换为 pdf

    感谢您的帮助。

    额外 PS:为了在 React 中使用 pdfjsLib 作为 PDFJS,我在 index.html 文件中执行了此操作:

    window.PDFJS = pdfjsLib
    

    【讨论】:

    • 您使用的是哪个库:pdf-parse、pdf2json、pdf.js 或 react-pdf-js? pdf.pdfInfo 在哪里发挥作用?
    • @CuriousChad 我正在使用 pdf.js
    猜你喜欢
    • 2023-04-02
    • 2016-04-22
    • 2015-08-17
    • 1970-01-01
    • 2010-12-05
    • 2011-10-23
    相关资源
    最近更新 更多