【发布时间】:2011-01-12 21:19:35
【问题描述】:
如何从 PDF 中提取文本内容(不是图像),同时(大致)保持 Google Docs 可以的样式和布局?
【问题讨论】:
标签: python pdf text extract google-docs
如何从 PDF 中提取文本内容(不是图像),同时(大致)保持 Google Docs 可以的样式和布局?
【问题讨论】:
标签: python pdf text extract google-docs
如果你不打算用 python 来做这件事,Ghostscript 可以为你做这件事。查看 pdf2ascii(GS 附带的脚本)以获取纯文本。样式更复杂,因为它们可以通过几种不同的方式指定。
【讨论】:
如果您想像 Google 那样做:
Google 将 PDF 转换为图像,然后用 JavaScript 高亮显示区域(类似于 Voodoo 魔法)覆盖图像(过去是文本所在的位置)。当您用光标滚动它们时,这些区域似乎是文本,但它们不是。这可能无法帮助您了解,但他们就是这样做的。如果你想对它进行逆向工程,你可以从主页上的https://www.mercurial-scm.org/ 开始,他们用 JavaScript 做同样的事情来使文本高亮和可复制。您可以从 PDF 中提取文本,并在其他答案中提到的库中找到它在页面中的位置。然后你可以用相同样式的 JavaScript 区域覆盖文件的提取图像。
【讨论】:
要从 PDF 中提取文本并获取其位置,您可以使用 PDFMiner。 PDFMiner 还可以直接将 PDF 导出为 HTML 格式,保持文本的正确位置。
我不知道您的用例,但是这样做时您可能会遇到很多问题,因为 PDF 是真正面向演示而不是面向内容的,文本流不是连续的。因此,如果您希望文本可编辑,这将不是一件容易的事。
【讨论】:
python-pdfminer,命令为pdf2txt。
Xpdf 有一个名为 PDFtoText 的实用程序,它做得很好。 http://foolabs.com/xpdf/download.html
【讨论】:
Acrobat Professional 可以胜任这项工作。在“文件”菜单中,选择导出。然后,选择文本。
【讨论】: