如何从PDF中提取格式化的文本内容

时间:2010-02-04 00:48:29

标签: python pdf text extract google-docs

如何(大致)保留Google文档的样式和布局,从PDF中提取文本内容(而不是图像)?

6 个答案:

答案 0 :(得分:9)

要从PDF中提取文本并获取它的位置,您可以使用PDFMiner。 PDFMiner还可以直接以HTML格式导出PDF,使文本保持在良好的位置。

我不知道你的用例,但是在执行此操作时会遇到很多问题,因为PDF实际上是面向表示的而不是面向内容的,文本流不是连续的。因此,如果您希望文本可编辑,那么这将不是一件容易的事。

答案 1 :(得分:7)

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

答案 2 :(得分:4)

如果您想像Google一样:

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

答案 3 :(得分:4)

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

答案 4 :(得分:3)

如果您没有通过python进行此操作,Ghostscript可以为您执行此操作。查看pdf2ascii(GS附带的脚本)以获取纯文本。样式更复杂,因为它们可以通过几种不同的方式指定。

答案 5 :(得分:3)

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