【前沿技术RPA】 一文学会用UiPath实现PDF自动化——从 PDF 提取单个数据段

简介: UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🦀专栏简介:UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。

封面.jpg

🌈写在前面:

PDF 是一种广泛使用的文档共享格式。通过本博文,我们将了解 PDF 文档的类型以及从 PDF 文档中提取数据时可以使用的方法。我们还将研究处理不稳定选取器时使用的锚点基准功能


👉本文关键字:RPA、UiPath、Low-code、No-code、PDF自动化、提取数据、锚点基准功能、.Net

1️⃣ 背景

♈ 什么是RPA

RPA(Robotic process automation) 代表机器人过程自动化

它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。

♉ 什么是UiPath

UiPath 是一种机器人流程自动化工具,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于 2005 年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。

♊ 为什么使用UiPath

UiPath在传统的RPA的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。

♋ 为什么要用PDF自动化

  • 获取原生PDF中某一部分的获取文本写入到另一个文件中(比如研究员可以批量处理包含某些关键字的文本文档不是靠人工肉眼去筛选);
  • 从扫描中得到的PDF获取文本和图像(比如由扫描机获取的发票,财务人员可以运行RPA批量处理这些电子发票);
  • 精准的从获取PDF某个位置的文本并批量处理这些PDF,解放双手的同时降低了错误率
原生PDF:由电子文本转换而来的PDF,比如从Word转换成的PDF

扫描PDF:由扫描图像组成的PDF,比如扫描件中的发票

2️⃣ 概述

♈ 环境

  • UiPath Studio Community 2022.4.3
  • Windows 10
  • .Net

♉ 摘要

PDF 是一种广泛使用的文档共享格式。在本课程中,我们将了解 PDF 文档的类型以及从 PDF 文档中提取数据时可以使用的方法。我们还将研究处理不稳定选取器时使用的锚点基准功能。

♊ 您将学到的内容

  • 安装 UiPath PDF 活动包
  • 使用读取 PDF 文本活动、使用OCR 读取 PDF活动和屏幕抓取向导,从 PDF 中提取大文本段;
  • 从 PDF 文档中提取单段信息
  • 使用选取器从具有相同布局的多个文件提取可变值
  • 使用锚点基准活动从一系列具有相同结构的 PDF 文件中提取可变值

3️⃣ PDF自动化

♋ 从 PDF 提取单个数据段

⭐ 背景

以一家中型公司为例,它面临着从一个月内生成的所有发票提取特定数据的艰巨任务。PDF文件中所需的数据是信用额、到期余额和发票号。要手动提取此数据,将需要大量工时,但我们可以自动化此过程。让我们看看PDF自动化后,从PDF文件中提取特定数据是多么容易。

发票如下图,我们要获取总额。

获取单个文本块1.png

⭐ 获取文本活动——Get Text Activity

对于普通 PDF 来说,有几个获取数据的选项,第一个是众所周知的获取文本操作。现在,此操作将只从这一特定文件中获取该特定文本元素的值。如下图,

Step1

获取单个文本块2.png

Step2

获取单个文本块3.png

Step3

获取单个文本块4.png

Step4

获取单个文本块5.png

结果

获取单个文本块6.png

⭐ 录制器

获取文本也可以在录制器中访问,就在这里。只需指向您感兴趣的元素,UiPath 就会为您生成获取文本操作及其输出变量,无需其他操作,我们将在消息框中显示它。

Step1

获取单个文本块录制器1.png

Step2

获取单个文本块录制器2.png

Step3

获取单个文本块录制器3.png

Step4

获取单个文本块录制器4.png

Step5

获取单个文本块录制器5.png

录制器获得的结果与Get Text 活动一致,再此不过多赘述。
⭐ 从多个文件中获取

但是,假设您实际上想要从一系列类似的 PDF 发票中提取总值,而不是仅仅从一个文件中提取,应该怎么办?像大多数用户界面交互一样,获取文本操作使用选取器来识别正确的元素并获取其值。因此,正如您可能已经猜到的,我们需要对其进行一些调整,以扩展其作用域。

自动执行此操作的方法是使用修复功能。因为我们关闭了第一个 PDF 文件,所以选取器编辑器以红色显示验证,这意味着选取器无效,如下图。

从多个文件中获取1.png

出现如下界面,

从多个文件中获取2.png

但是,我们可以直接单击修复并指向另一个类似的元素,该元素也应该与当前选取器匹配,并且 UiPath 将尝试为您修复选取器,如下图。

从多个文件中获取3.png

从多个文件中获取4.png

在本例中,它是有效的,但由于情况并非总是如此,我们还可以手动修改它,看看具体结果如何。但是,这里要提醒一下:我们将不会讨论选取器的一般方面,而只是解释这个具体的示例。但我强烈建议您观看“选取器”视频,里面详细介绍了它们如何工作,如何编辑和调试它们。它们是用户界面自动化的核心部分,因而更好地理解它们会在其他情况下也有用。

因此,我们将取消这个操作,不保存更改,然后再次打开选取器。这一次两个 PDF 文件都打开了,并且初始的选取器是有效的。我们将选择在用户界面探测器中打开它,以便获得更好的视图,如下图。

从多个文件中获取5.png

选中的容器是实际组成选取器的容器,因此,我们将重点讨论这些容器。

从多个文件中获取6.png

重新选择文本,

从多个文件中获取7.png

此时用户界面探测器改变,如下图,

从多个文件中获取8.png

我们还将删除 Title 参数以使用其他文件,方法是单击 Explorer 中的顶层选取器并取消选中右侧的标题,如下图。

从多个文件中获取9.png

最后一个元素存在实际值,所以我们需要删除它,使它也适用于其他值,如下图。

从多个文件中获取10.png

通过反复试验,我们发现最好对此项使用更独特的行名称属性。然后,我们只需单击保存,通过单击验证来验证选择器,然后单击确定。现在,它对这两个文件都有效。它从这张发票和另一张发票中都提取到了正确的值。

从多个文件中获取11.png

从多个文件中获取12.png

4️⃣ 参考资料

PDF Activities Pack
Read PDF Text
Read PDF with OCR
Anchor Base


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持

相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
相关文章
|
2月前
|
数据采集 Web App开发 JavaScript
Puppeteer自动化:使用JavaScript定制PDF下载
在现代Web开发中,自动化工具如Puppeteer可显著提升效率并减少重复工作。Puppeteer是一款强大的Node.js库,能够控制无头Chrome或Chromium浏览器,适用于网页快照生成、数据抓取及自动化测试等任务。本文通过示例展示了如何使用Puppeteer自动化生成定制化的PDF文件,并介绍了如何通过配置代理IP、设置user-agent和cookie等技术增强自动化过程的灵活性与稳定性。具体步骤包括安装Puppeteer、配置代理IP、设置user-agent和cookie等,最终生成符合需求的PDF文件。此技术可应用于报表生成、发票打印等多种场景。
155 6
Puppeteer自动化:使用JavaScript定制PDF下载
|
3月前
|
Python
Python办公自动化:删除任意页数pdf页面
Python办公自动化:删除任意页数pdf页面
108 1
Python办公自动化:删除任意页数pdf页面
|
3月前
|
机器学习/深度学习 算法
概率分布深度解析:PMF、PDF和CDF的技术指南
本文将深入探讨概率分布,详细阐述概率质量函数(PMF)、概率密度函数(PDF)和累积分布函数(CDF)这些核心概念,并通过实际示例进行说明。
324 15
概率分布深度解析:PMF、PDF和CDF的技术指南
|
3月前
|
数据安全/隐私保护 Python
Python办公自动化:给pdf加水印
Python办公自动化:给pdf加水印
46 0
|
3月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
34 0
|
4月前
|
机器学习/深度学习 监控 机器人
RPA技术在金融行业中的几个关键应用领域
【8月更文挑战第4天】RPA技术在金融行业中的几个关键应用领域
234 2
|
4月前
|
监控 BI 数据处理
RPA技术在金融领域的应用?
【8月更文挑战第4天】RPA技术在金融领域的应用?
88 1
|
4月前
|
供应链 数据管理 数据处理
RPA技术在医疗领域的应用正日益增多
【8月更文挑战第4天】RPA技术在医疗领域的应用正日益增多
68 1
|
4月前
|
供应链 数据管理 数据处理
RPA技术在医疗行业应用如何?
【8月更文挑战第4天】RPA技术在医疗行业应用如何?
85 1
|
4月前
|
机器学习/深度学习 人工智能 Cloud Native
RPA技术未来趋势如何?
【8月更文挑战第4天】RPA技术未来趋势如何?
191 1
下一篇
DataWorks