从PDF中提取表格

时间:2013-07-11 10:50:41

标签: python pdf pdf-parsing

我正在尝试从pdf document

中提取表格

我尝试了pdf的路线 - > html - >提取表。转换为html时我上面提到的pdf产生垃圾,可能是因为字体,文件不是英文。

使用x和y坐标提取pdf不是一个选项,因为这个解决方案需要从上面提到的url中为将来的pdf工作,这将有表但不总是在同一位置。

请帮忙,

提前致谢。

3 个答案:

答案 0 :(得分:5)

PDF不包含显式表数据。它只包含我们倾向于将其解释为表格的线条和字符字形。因此,您的任务涉及将我们的人类表识别功能放入代码中,这是一项非常重要的任务。

一般来说,如果您确定未来的PDF将以非常类似的方式由同一软件生成,那么<​​em>可能值得花时间调查该文件以获得一些易于遵循的提示识别各个领域的内容。

但是,您的特定文档还有一个缺点:它不包含直接文本提取所需的信息!您可以尝试复制&amp;从Adobe Reader粘贴,你会得到(至少我做的)WinAnsi系列中的半随机字符。

这是因为文档中的所有字体都声称他们使用WinAnsiEncoding,即使以这种方式引用的字符肯定不是来自WinAnsi字符选择。

因此,在没有OCR的情况下从文档中提取可靠的文本是不可能的!

(从Adobe Reader尝试复制和粘贴通常是一个很好的第一次测试文本提取是否可行;阅读器的文本提取方法已经开发了很多年,因此已经变得非常好。如果你不能用Acrobat Reader提取任何合理的东西,文本提取确实是一项非常困难的任务。)

答案 1 :(得分:2)

你可以使用Tabula: http://tabula.nerdpower.org 它是免费的,有点好用

答案 2 :(得分:0)

一种选择是使用pdf-table-extract:https://github.com/ashima/pdf-table-extract