使用Python进行PDF解析-提取格式化和纯文本[关闭]


82

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

我想从PDF文档中提取文本,但不包括任何表格和特殊格式。那里有图书馆吗?

Answers:


61

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

PDFMiner中感兴趣的一个特殊功能是,您可以控制在提取文本部分时如何重新组合文本部分。您可以通过指定行,单词,字符等之间的间距来执行此操作。因此,也许可以通过对此进行调整来实现所需的功能(取决于文档的可变性)。PDFMiner还可以为您提供文本在页面中的位置,它可以按对象ID和其他内容提取数据。因此,挖掘PDFMiner并发挥创造力吧!

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


1
PDFMiner看起来很有趣。我能够使用它的XML输出,然后解析它以忽略我不需要的内容。这仍然需要大量的后处理,但是目前它可能是最好的解决方案。谢谢。
Mike Cialowicz 09年

@Etienne,如果PDF也具有其他语言字符,是否可以使用它?
萨希尔·米塔尔

它应该与其他语言字符一起使用。文档提及:CJK语言和垂直书写脚本支持。最好的确定方法,进行测试!
Etienne 2014年

1
PDFMiner的pdfminer.six Python 3端口对我来说运行良好
极度羞辱

1
从20191010版本开始,PDFMiner
惊人的

0

这是一个很难解决的问题,因为视觉上相似的PDF可能会根据其产生方式而具有截然不同的结构。在最坏的情况下,库基本上需要像OCR一样工作。另一方面,PDF可能包含足够的结构和元数据,以便轻松删除表格和图形,可以对该库进行定制以加以利用。

我敢肯定,没有开放源代码工具可以解决各种PDF的问题,但是我记得曾经听说过商业软件声称可以完全满足您的要求。我相信您在谷歌搜索时会碰到它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.