【问题标题】:how to extract formatted text content from PDF如何从PDF中提取格式化的文本内容
【发布时间】:2011-01-12 21:19:35
【问题描述】:

如何从 PDF 中提取文本内容(不是图像),同时(大致)保持 Google Docs 可以的样式和布局?

【问题讨论】:

    标签: python pdf text extract google-docs


    【解决方案1】:

    您尝试过pyPDFReportLab PDF 库吗?我个人没有使用过它们,但你可以试一试。 here也很有用

    【讨论】:

      【解决方案2】:

      如果你不打算用 python 来做这件事,Ghostscript 可以为你做这件事。查看 pdf2ascii(GS 附带的脚本)以获取纯文本。样式更复杂,因为它们可以通过几种不同的方式指定。

      【讨论】:

        【解决方案3】:

        如果您想像 Google 那样做:

        Google 将 PDF 转换为图像,然后用 JavaScript 高亮显示区域(类似于 Voodoo 魔法)覆盖图像(过去是文本所在的位置)。当您用光标滚动它们时,这些区域似乎是文本,但它们不是。这可能无法帮助您了解,但他们就是这样做的。如果你想对它进行逆向工程,你可以从主页上的https://www.mercurial-scm.org/ 开始,他们用 JavaScript 做同样的事情来使文本高亮和可复制。您可以从 PDF 中提取文本,并在其他答案中提到的库中找到它在页面中的位置。然后你可以用相同样式的 JavaScript 区域覆盖文件的提取图像。

        【讨论】:

        • 啊,你是对的 - 他们使用的是图像,这不是我想要的,因为我需要处理文本
        【解决方案4】:

        要从 PDF 中提取文本并获取其位置,您可以使用 PDFMiner。 PDFMiner 还可以直接将 PDF 导出为 HTML 格式,保持文本的正确位置。

        我不知道您的用例,但是这样做时您可能会遇到很多问题,因为 PDF 是真正面向演示而不是面向内容的,文本流不是连续的。因此,如果您希望文本可编辑,这将不是一件容易的事。

        【讨论】:

        • 这个包在ubuntu中可用,名称为python-pdfminer,命令为pdf2txt
        【解决方案5】:

        Xpdf 有一个名为 PDFtoText 的实用程序,它做得很好。 http://foolabs.com/xpdf/download.html

        【讨论】:

          【解决方案6】:

          Acrobat Professional 可以胜任这项工作。在“文件”菜单中,选择导出。然后,选择文本。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-02-05
            • 2019-11-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-08
            相关资源
            最近更新 更多