84

我正在寻找一个 PDF 库,它允许我从 PDF 文档中提取文本。我看过 PyPDF,它可以很好地从 PDF 文档中提取文本。这样做的问题是,如果文档中有表格,表格中的文本将与文档的其余部分一起被提取。这可能会产生问题,因为它会生成无用且看起来乱码的文本部分(例如,大量数字混在一起)。

我想从 PDF 文档中提取文本,不包括任何表格和特殊格式。有没有图书馆可以做到这一点?

4

2 回答 2

63

您还可以查看PDFMiner(或者对于较旧版本的 Python,请参阅PDFMinerPDFMiner)。

PDFMiner 的一个特别有趣的功能是,您可以控制它在提取文本部分时如何重新组合它们。您可以通过指定行、单词、字符等之间的空间来做到这一点。因此,也许通过调整它可以实现您想要的(这取决于您的文档的可变性)。PDFMiner 还可以为您提供页面中文本的位置,它可以通过 Object ID 和其他东西提取数据。因此,挖掘 PDFMiner 并发挥创造力!

但是您的问题确实不是一个容易解决的问题,因为在 PDF 中,文本不是连续的,而是由许多绝对位于页面中的小字符组组成。PDF 的重点是保持布局完整。它不是面向内容的,而是面向演示的。

于 2009-12-05T03:07:55.637 回答
1

这是一个难以解决的问题,因为视觉上相似的 PDF 可能具有完全不同的结构,具体取决于它们的生成方式。在最坏的情况下,图书馆基本上需要像 OCR 一样工作。另一方面,PDF 可能包含足够的结构和元数据,以便轻松删除表格和图形,可以定制库以利用这些结构和元数据。

我很确定没有开源工具可以解决各种 PDF 的问题,但我记得听说过声称完全按照您的要求执行的商业软件。我相信你会在谷歌搜索时遇到它们。

于 2009-12-04T23:14:26.970 回答