从大量pdf文件中提取数据到Excel中,用python还是用VBA?

在上一家公司工作时同事提过类似的需求,我用VBA取巧解决的
上百张从系统中导出的PDF格式发票,名字都是乱码,需要重命名成发票中的公司名
当时上网查了一下,发现需要调用acrobat控件
我尝试了一下,没有成功,因为公司的电脑只装了Adobe Reader PDF,没装Adobe Acrobat
但同事还在那眼巴巴的等着,不能让她失望
【从大量pdf文件中提取数据到Excel中,用python还是用VBA?】 我点了下PDF阅读器的“文件”选项卡,发现有另存为的功能!可以将PDF另存为txt
挑了几个发票文件,发现另存后公司名都在同一行,且发票中的文本数据都在txt中
然后一切就简单了

用VBA遍历并打开PDF文件
模拟键盘的快捷键将文件另存为txt
遍历TXT文件,打开后提取指定行的数据,给原PDF文件重命名

当然,因为是模拟键盘的操作,运行时不能按鼠标键盘,有时还会漏掉一两个文件
不过因为是重命名操作,一眼就能看出来,手动改也花不了几秒钟

那次最重要的发现就是利用Adobe Reader PDF将PDF另存为TXT了,不过我感觉还是用acrobat比较靠谱

■网友
【PDFelement 6 专业版】支持批量提取 PDF 文件中的数据。
表单填写和数据提取一直都是PDFelement 6引以为傲的功能。对于中小型企业,在处理财务报表或者税单、发票时,经常遇到表单归档和数据录入的问题, PDFelement 6 完美的解决了这个需求。PDFelement 6 支持自动识别可填写表单域,无需转换格式,即可直接填写。另外,你还可以设计自己喜欢表格形式,软件里可以创建自己需要的表单选项形式,比如:文本字段,复选框,单选按钮,组合框,列表框,按钮或签名域。

从大量pdf文件中提取数据到Excel中,用python还是用VBA?

如果从原生 PDF 文档中提取数据,只需点击“数据提取”即可将表单的交互区域里的数据批量提取到Excel表格里,方便报告和分析。

从大量pdf文件中提取数据到Excel中,用python还是用VBA?

如果遇到扫描版PDF文件,也不用担心,PDFelement 6 专业版里选定要提取数据的区域,执行OCR,即可提取出来。
从大量pdf文件中提取数据到Excel中,用python还是用VBA?


从大量pdf文件中提取数据到Excel中,用python还是用VBA?


细节查看文章: 干货帖 | 各种PDF表单的疑难杂症怎么解决?
更多 PDF 相关干货,欢迎关注专栏:PDF 应用技巧

? 如何隐藏 PDF 里的秘密?|密文功能
? 进阶教程 | PDF 高级玩家教你这几个实用操作
? 如何一键转换PDF成Word、Excel、PPT文件
? PDF 应用评测:Adobe Acrobat VS PDF Expert VS PDFelement
? 「革命」你的 PDF 阅读编辑体验 - iOS 端 PDFelement 限免
? 一款 PDF 软件需要具备多少个注释工具才合适?
? Adobe Acrobat XI 和Reader XI 将终止维护,企业用户何去何从?
? Preview 预览真的能解决你的 PDF 需求吗?
? 干货帖 | 各种PDF表单的疑难杂症怎么解决?
? PDFelement 与 PDF Expert,谁更胜一筹?

■网友
试试finereader abbyy出品的 来自俄罗斯的神器,主打光符识别
■网友
我试过用Excel vba去实现这个功能,但是有一点不确定是否会符合你的要求,首先呢吧这2000多份的pdf全部转成excel.然后作为总表,相信这个总表会非常的乱,但没关系可用VBA处理这些数据。宏的强大足以吧乱的原始数据整理好。通过一些关键词去寻找你要的数据就好。


推荐阅读