最近有一个本地客户需求是读取PDF文件,然后做自动化处理。这其实是一种典型的RPA自动化需求,简单而言就是模拟人工来操作文件,网页,客户端系统等,只要操作规则定义清楚,就可以实施这种RPA应用,而如果这种操作较为频繁(大量重复),则这种RPA自动化应用实施的ROI(投资回报率)会非常显著。

事实上利用RPA软件可以较为容易地实现这类操作,例如AutomationAnywhere,参考此前我写的一篇文章《RPA软件之AutomationAnywhere研究》,在AA里就有这类操作PDF文件的标准控件和应用场景:

(二十八)PDFIntegration(PDF文件操作)

PDF To Image

Extract From Fields

Extract Text

Merge Documents

Split Document

Encrypt Document

Decrypt Document

而现在这个本地客户需求相对简单,并且在未来有进一步和其他应用集成的可能性,也就是开发一个端到端的自动化应用,因此用AA来实现这个功能就有点大材小用了,而用Python写一个自开发的RPA应用就可以支持这个功能,而在Python来操作PDF文件有多种类库,分别研究了一下,发现对于英文PDF文件支持最好的是pyPDF2类库,而对于多语言PDF文件支持最好的则是本文这个案例种用到的pdfminer类库,这两个类库的使用方法其实都很简单。

不说废话,直接上代码:

准备了一个简单的PDF文件做测试:

执行程序,结果如下:

当然了,不管是pyPDF2类库(只支持英文PDF文件),还是pdfminer类库(支持多语言PDF文件),都有一个最大的局限性,那就是只能用来读取电脑生成的PDF文件的内容,而不能用来处理扫描件PDF,对于手写字也不能支持,要读取这类PDF扫描件就要用到另外一种技术,那就是——OCR。在后面我会专门写一篇文章来介绍一个如何利用tensorflow来实现OCR读取PDF扫描件的案例。

RPA应用实施有两个阶段,第一个阶段是传统RPA(Tranditional RPA),而第二阶段是认知RPA(Cognitive RPA),认知RPA比传统RPA更高级的一点就是引入了AI认知服务,使原来无法操作的非结构化数据可以被操作,例如OCR,人脸识别,声音识别等等。传统RPA则是基于对结构化数据的操作,包括excel文件,网页数据等。当然了,对于电脑生成的PDF文件的读取和自动化操作,还可以算作是传统RPA实施的领域,而对于PDF扫描件的读取和自动化操作,则毫无疑问地可以归于认知RPA的范围了。

python处理pdf实例_Python实现读取PDF文件案例相关推荐

  1. python读取yaml文件_python 怎么读取yaml文件

    yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language:另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件 ...

  2. python处理pdf实例_python 使用pdfminer3k 读取PDF文档的例子

    1.安装 pdfminer3k 通过pip安装: pip install pdfminer3k 下载安装:在网页 https://pypi.org/project/pdfminer3k/1.3.1/# ...

  3. python处理pdf实例_Python程序图片和pdf上文字识别实例

    实例一:先减少背景杂音,再做图片文字识别 为了提高识别率,先用opencv-python对扫描的图片做预处理(减少背景杂音),然后调用pytesseract识别图片上的文字.处理方式就是: 学习Pyt ...

  4. python怎么读取pdf为文本_python怎么读取pdf文本内容

    python读取pdf文本内容的方法:首先打开相应的python脚本文件:然后使用PDFMiner工具来读取pdf文本内容:最后通过print输出读取后的内容即可. python读取pdf文本内容 p ...

  5. python处理pdf实例_python实现pdf转word的例子

    pdf转word的效果一般都很差,下面使用pdfminer和docx框架,前者用来读取pdf的文本内容,后者用来写到word文件中.仅作入门级参考. 例子如下: #!/usr/bin/env pyth ...

  6. python处理pdf实例_python使用pdfminer解析pdf文件的方法示例

    最近要做个从 pdf 文件中抽取文本内容的工具,大概查了一下 python 里可以使用 pdfminer 来实现.下面就看看怎样使用吧. PDFMiner是一个可以从PDF文档中提取信息的工具.与其他 ...

  7. python pdf-有没有好一点的读取 PDF 的 Python 包?

    专注Python.AI.大数据 @七步编程 ​PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档...很多都是PDF格式.它以 ...

  8. php判断pdf页码,PHP_PHP简单读取PDF页数的实现方法,本文实例讲述了PHP简单读取PDF - phpStudy...

    PHP简单读取PDF页数的实现方法 本文实例讲述了PHP简单读取PDF页数的实现方法.分享给大家供大家参考,具体如下: 还是老外比较厚道, 在老外的网站找到了这样一个方法, 我写成了一个函数, 再将函 ...

  9. python读取pdf并写入excel_Python读取pdf表格写入excel代码方法

    本篇文章小编给大家分享一下Python读取pdf表格写入excel代码方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 避免CV大法 pdf 文件的 ...

最新文章

  1. 你有哪些deep learning(rnn、cnn)调参的经验?
  2. 08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器
  3. 腾讯地图api如何根据地址获取经纬度
  4. java comparator相等_详解Java中Comparable和Comparator接口的区别
  5. FAQ系列 | 用MySQL实现发号器
  6. iconfont-阿里巴巴矢量图标库使用教程
  7. Blender 插件开发 添加快捷键
  8. 部署描述符[D:\apache-tomcat-9.0.38\conf\Catalina\localhost\books.xml]时出错
  9. 红色警戒2修改器原理百科(八)
  10. 安装Ceres Solver
  11. 有关rand(),srand()产生随机数学习总结
  12. linux mint19内核,aria2的Linux Mint 19安装过程完整总结
  13. 在keil中使用bdata型可位寻址全局变量
  14. PTA.奇数值结点链表(C语言链表应用)
  15. python扇贝课程_“学点Python吧,别再这么累了。”
  16. 开关量无线传输-1主4从
  17. 2018ChinaJoy万代南梦宫展台速刷攻略
  18. Pixi官方文档译文(2)
  19. 非项目活动的时间怎么跟踪?
  20. 拒绝破解,用10大免费软件来代替盗版

热门文章

  1. 磁盘克隆、磁盘镜像还有复制粘贴有什么不一样?
  2. 解决需要使用新应用以打开此 windowsdefender 链接
  3. 混淆电路简介(GC)
  4. 《傲慢与偏见》读后感
  5. UI设计师ps的使用,产品经理
  6. 2021年中国剧本推理(剧本杀)行业现状及趋势分析[图]
  7. Rundll32.exe在批处理里的应用
  8. 华为网络工程师-了解华为交换机的接口类型-Hybrid
  9. C++学习:第六章Linux高级编程 - (七)信号、sigqueue、sigaction、IPC、管道、匿名管道
  10. 拨开O2O闭环迷雾 透视BAT终极PK战