有没有办法从多个pdf文件中自动提取特定数据并将它们添加到Excel工作表?

时间:2015-05-11 13:22:54

标签: python excel vba excel-vba pdf

我经常需要查看pdf文件列表并搜索特定数据,然后将它们添加到Excel工作表中供以后查看。由于pdf文件的数量大约是每月50个,因此手动操作既耗费时间又令人沮丧。

可以通过python或任何其他脚本语言在Windows中自动执行该过程吗?我要求将所有pdf文件放在一个文件夹中并运行脚本,该脚本将生成一个包含所有数据的excel表。我工作的pdf文件是表格式的,具有类似的结构。

2 个答案:

答案 0 :(得分:3)

是。和不。也许吧。

此处的问题不是从PDF文档中提取某些内容。几乎总是可以提取某些东西,并且有很多工具可用于从PDF文档中提取内容。文字,图片,无论你需要什么。

主要问题(以及“不”或“可能”的原因)是PDF通常不是结构化文件格式。它不关心列,段落,表格,句子甚至单词。在一般情况下,它只关心特定位置页面上的字符。

这意味着在一般情况下,您无法查询PDF文档并询问第5段中的每个段落或第三个句子。您可以要求图书馆获取特定位置的所有文本或所有文本。然后你必须希望图书馆能够以清晰的格式提取你需要的文本。因为甚至不必存在可以从PDF文件复制和粘贴或其他可理解的字符的情况。许多PDF文件甚至没有包含足够的信息。

所以...如果您有某种类型的文档并且您可以测试它可预测地使用某个提取引擎以某种方式运行,那么是的,您可以从PDF文件中提取信息。

如果您收到的PDF文件一直不同,或者页面上的布局每次都完全不同,那么答案很可能是您无法可靠地提取所需信息。

作为旁注:
某些类型的PDF文档比其他文档更容易处理,所以如果你幸运的话可能会让你的生活更轻松。两个例子:

  1. 许多PDF文件 实际上包含文本信息,以便能够以清晰的方式提取文本信息。符合某些标准的PDF文件(如PDF / A-1a,PDF / A-2a或PDF / A-2u等......)甚至需要以这种方式创建。

  2. 某些PDF文件被“标记”,这意味着它们包含其他结构信息,使您能够以更简单,更有意义的方式提取信息。这种结构实际上可以识别段落,图像,表格等,如果标记以良好的方式完成,它可以使内容提取的工作变得更加容易。

答案 1 :(得分:1)

您可以在Python中使用pdf2text2从PDF中提取数据。

或者,您可以使用属于Xpdf suite

pdftotext