UiPath使用ABBYY Flexicapture OCR
[TOC]
1. ABBYY Flexicapture简介
ABBYY FlexiCapture(简称AbbyyFC)使开发人员可以快速开发解决方案,用于从固定格式或半结构化格式的表单、文档中提取数据。有如下特点:
- 灵活的导出选项
导出时可以选择 PDF/A 格式,导出带标记的 PDF,PDF 的快速 web 视图选项,导出为 UTF 时不写入 BOM(字节顺序标记) 字符。减少文档存储所需空间,可以管理输出文件的大小与质量,从而最大限度提高数据存储效率。
- 更好、更快的 OCR
ABBYY FlexiCapture SDK采用最新一代的 ABBYY OCR 技术。借助引擎背后的新一代核心技术,可以更快、更高质量地处理阿拉伯语、中文、日文及韩语文本。
- 云部署
云环境越来越受欢迎,越来越多的客户将他们的服务托管在云上。新的 FlexiCapture SDK可以运行在这些虚拟环境、容器及虚拟机上。UiPath或其他RPA工具仅通过访问协议即可实现将待处理的文件上传下载的过程。
- 发票处理是现成的模组
FlexiCapture FlexiCapture具有可扩展性,发票处理是一个现成提供的附加功能,包括预定义设置、验证规则、先进的数据库查询和特定UI增强设定。。
- 支持不同类型文档的数据采集
通过自定义识别的模板,ABBYYFC可以从不同类型的文档中快速定位所有必需的数据字段,并以合适的格式提取出来。
- 高性能与快速响应
通过创建并行运行在不同进程上的处理器池,我们可以改进服务器应用程序的性能和响应能力。客户端请求由不同的 CPU 核心独立处理,无须在队列中等待,服务器应用程序因此响应更快。另外,单一长任务拆分成多个小任务并行处理,能够合理利用多核 CPU 的运行能力,从而提高性能。如下图,可以对核心数进行分配。
image
- 通过训练来创建文档定义
AbbyyFC能够自动学习新文档类型并识别数据提取相关字段。
2. AbbyyFC与UiPath的集成前准备
说明:此部分比较繁琐复杂,每一节都形成一个文档或视频记录。通常,如果客户购买了ABBYYFC的license,都会有专门的工程师协助完成此部分内容,并且会根据客户及UiPath所处理的文档结构,协助完成识别模板的定制。
2.1 ABBYYFC安装
2.2 ABBYYFC识别模板设置
https://www.bilibili.com/video/av76982066/
2.3 ABBYYFC批量识别测试
https://www.bilibili.com/video/av76590982/
3. Demo1:在UiPath中集成ABBYYFC Activities
使用ABBYY FC相关的Activities与UiPath集成。
缺点:
- 1.使用了外部的Activities,对ABBYY FC存在依赖。
- 2.官方Demo中使用到了Orchestrator中的Queue,使其调试繁琐。
优势:
- 1.通过Activities对AbbyyFC的相关参数进行灵活的配置。
- 2.灵活切换多任务和单任务的处理模式
3.1 下载ABBYYFC相关Activities
FlexiCapture Connector是一系列UiPath中的Activities,可在FlexiCapture企业平台和UiPath之间提供集成,从而自动处理非结构化内容(文档,图像和文本),从而将其转换为结构化的可操作数据。
官方下载地址: FlexiCapture Connector for UiPath
百度云地址: 链接:https://pan.baidu.com/s/1heC2KWjsqiY38OlO0vcRBw 提取码:21bs
百度云中下载的压缩包中同时包含多任务处理和单任务处理的Activities。
3.2 安装ABBYYFC相关Activities
打开UiPath中Manage Packages窗口,如下图所示,自定义包源的名称,在Source中添加Activities所在文件夹,点击Add.
image
如下图,分别安装如下三个Package并Save,退出。
image
安装完毕之后,会有如下几个Activities出现。
3.2 测试ABBYY FC的单任务处理
所谓单任务处理,是指ABBYY在对PDF或者Image识别时,会将一张PDF(Image)作为一个批处理任务进行处理。而多任务处理,是指ABBYY可以同时获取多张PDF(Image),并且利用CPU的多核心,对PDF(image)进行并发处理,以提高处理效率。
建立UiPath的Workflow,如下图所示(文章最后会贴出代码地址):
image image
相关参数:
image3. Demo2:在UiPath中直接使用ABBYY FC输出结果
通过将ABBYY FC配置为windows后台任务,自动处理输入的待识别文件,识别完之后自动输出到指定文件夹。UiPath的工作仅需要将所有待识别文件移动到ABBYYFC指定的读取文件夹,待识别结束之后,UiPath只需要从结果文件夹中获取结果进行处理即可。
优势:
- 1.无需对UiPath做任何配置或安装Activities。
- 2.开发只需要关注输入输出即可。
缺点:
- 1.不能灵活的对ABBYY输入输出及其他参数进行设置
- 2.若存在需要人工校验的文件,则需要等到所有文件都识别完成之后,才可以进行校验(等待时间可能比较长)。
3.1 ABBYY FC配置输入输出文件夹
设置ABBYY FC自动读取的文件夹、读取时间间隔、批处理文件数量(每次指定个数、文件夹所有文件、子文件夹文件、单个文件)、批处理模式、处理完成之后文件的处理方式(删除、移动至其他文件夹)以及处理失败的文件该如何处理(留在源文件夹或移动至指定目录)
3.1.1 配置共享文件夹
如下图,将ABBYY文件夹共享出来,后续将会使用到网络路径 \Cnpxxxx591\abbyy
3.1.2 配置ABBYY FC定时读取文件夹
如下图所示,安装步骤进行设置
image image image
设置已处理图片存放目录和处理失败图片存放的目录,若不存在,则自行创建即可。
image
3.1.3 配置ABBYY FC文件输出目录
设置导出规则
image image image
其他信息可以单击对应的button查看详细的设置规则。之后点击OK,保存项目并publish即可。
之后按照如下图进行最后一步设置,即可完成ABBYY FC的自动输入输出文件夹的设置,让ABBYY FC作为后台任务帮助机器人完成OCR识别或其他任务。
image
3.2 UiPath与ABBYY FC的结合使用
如下为UiPath代码,通过将待识别文件主动放入ABBYY FC扫描目录,之后再从输出目录中获取到想要格式的文件。
用到的依赖:
PDF_Activities=1.0.1 (用于计算PDF张数)
image
4. 代码获取
从Github上获取:
sombie007/RPA/AbbyyFC
若有帮助,请点个Star。
image
附2 . 关于RPA知识星球
之前有很多文章和心得发布在"小专栏"中,但是最近由于各种原因,后续不准备再发一些文章上去,全部迁移至知识星球。知识星球中内容全部由我运营,会定期输出与RPA相关内容,包括但不限于:
- RPA实施方法论
- RPA实施技术架构
- RPA应用场景分析理解
- RPA实施中填坑之路......
为什么要收费:
- 建立门槛,过滤掉观光客;
- 逼自己尽可能多地思考和输出内容;
- 通过输出内容,和一帮志趣相投的朋友们一起,激发出更多好玩的机会;
- 利用知识星球连接铁杆粉丝,做出高品质社群