Python实现扫描件PDF文件读取案例

在此前的文章里已经提到了PDF文件分为文本类型PDF和图片类型PDF,而在业务场景里最常出现的就是扫描件图片类型PDF文件,读取这种类型的PDF文件需要用到OCR技术,而目前最好的OCR OpenSource解决方案就是Google开放的tesseract-ocr,无奈在中国大陆Google的类库下载下来很难,需要翻墙才行,从搞了一个多星期了,今天周末终于有了几个小时的空闲时间,终于搞定了。

大神有言:Talk is cheap, show me the code。直接上代码:

写Python代码很简单明了,实现这个案例写了18行代码!设计逻辑也非常简单,第一步读取PDF文件并将其拆分成JPG格式的图片(这一步在上一篇文章的案例中已经实现),第二步调用tesseract-ocr对于JPG格式的图片进行OCR文字识别。搞定!

搞了一个测试用的图片类型的PDF文件用来做测试:

程序运行结果如下:

从结果来看,英文和数字都识别出来了,而中文字符和日文字符没有显示出来,这也是当然了,因为中文和日文语言包没有成功下载下来,而在上面的程序代码里只调用了tesseract-ocr默认安装的英文语言包,从效果来看可以基本满足业务要求,至于中文和日文语言包,只能是再想办法翻墙去Google官网上下载了。

扫描件图片类型PDF文件在很多业务场景中会利用到,是非结构化数据的一种,此前没有OCR技术支持的情况下这种业务场景无法完全自动化,传统的RPA技术也搞不定,只有在引入了基于人工智能AI的认知服务后才能处理这些非结构化数据,代替人工实现对这些非结构数据的处理,例如图片上文字识别,图像识别,声音识别等等,从而将RPA技术解决方案从传统RPA升级到认知RPA,支持对于这些业务场景的自动化。

除了在本文案例里用到的tesseract-ocr开源免费OCR解决方案外,百度AI开放平台提供的文字识别OCR服务,微软Azure认知服务,或者Automation Anywhere的OCR标准控件都可以作为一种成熟的技术方案选择提供给客户。

基于AI的认知RPA技术解决方案是目前市场上非常有前景的一种解决解决方案,利用这种解决方案,将传统RPA技术和自动化技术无法处理的一类业务场景自动化,将之引入到E2E全自动化解决方案中来,实现客户价值,将经验丰富的业务人员从大量重复的这种操作中解放出来,从事更加有价值的工作,进一步提高企业在市场上的核心竞争力。

而对于技术团队而言,掌握这种基于AI的认知RPA技术,就可以为客户提供更多选择的自动化和数字化服务,提高New IT的解决问题能力,和客户实现双赢,共同成长共同发展。

在过去两年,我的团队不断学习和研究各种New IT技术,包括RPA技术和解决方案(传统RPA和认知RPA),人工智能AI技术和解决方案(认知服务,机器学习和深度学习),手机应用开发(Mobile APP),E2E Workflow平台级解决方案,智能聊天机器人技术和解决方案,数据分析和挖掘技术和解决方案等等,并在为亚太和大中华区本地客户提供各种自动化和数字化解决方案过程中不断创新,积累了丰富的行业解决方案经验。整个团队在New IT技术能力,Agile交付能力,行业知识和解决方案等领域有了长足的发展和提高。在今年,随着对于AI技术的学习和研究,整个团队的解决问题能力更是得到了全面升级,有能力为亚太和大中华区本地客户提供更高价值的技术服务。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G1IKQ400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券