【前沿技术RPA】 一文学会用UiPath实现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,UiPath 都允许您根据需要导航、识别和使用 PDF 数据。在我们继续之前,您应该已经熟悉提取数据,以及如何使用和编辑选取器。对于这两个主题,都有单独的博文进行详细介绍,所以一定要观看这些博文,避免您在学习过程中未能完全理解其中的某些内容。

♌ 锚点基准活动

⭐ 背景

我们可能希望从PDF发票中获取值。但是这个值UI元素具有不稳定的选择器,而标签元素是稳定的。也就是说,我们要获取的文本的位置是不固定的,我们需要找一处固定的元素(锚点),以此来获得我们需要的文本内容。

⭐ 锚点基准活动

锚点基准活动由两个操作组成,因为它执行的操作与另一个固定元素或锚点有关,如下图。

锚点基准活动1.png

典型的锚点是查找元素操作。我们将使用它来精确定位一个固定元素,接近我们的目标元素;通常是它的名称,这里的 Credit。

锚点基准活动2.png

锚点基准活动3.png

接下来,我们要执行的操作是获取文本

锚点基准活动4.png

锚点基准活动5.png

虽然这两个操作都有关联的选取器,但您会注意到它们更简单一些。

接下来对于锚点元素,用*替换文件名部分,如下图。

锚点基准活动6.png

锚点基准还有一个可选参数,锚点位置。它用于更清楚地定义在何处查找数据。我们可以让它保持原样,或者把它改成左侧,因为这就是我们的锚点与文本关联的位置

锚点基准活动7.png

我们放上MessageBox活动之后运行,可以看到准备获取到了我们需要的值,并且两个文档都有效。

锚点基准活动非常灵活,这意味着您可以在其中使用各种操作。例如,可以将查找元素操作替换为查找图像,如下图。

锚点基准活动8.png

优点是现在 PDF 文档的结构不再那么重要,重要的是它在可见文档的任何地方都包含特定指定图像。此外,您不必再处理这么多的选择器;而且由于 PDF 文件在所有系统上看起来都一样,因此可以使用查找图像而不存在其常见的缺点。

注意

在指定要查找的图像之前,最好将文档的缩放比例设置为实际大小,以确保图像完整并且准确。只需进入“视图”、“缩放”和“实际大小”。

然后回到 UiPath,单击以指定一个图像,在本例中是 Credit,并在其周围选择锚点。这样就行了,如下图。

锚点基准活动9.png

这个方法有时比其他方法更可靠,因为只要图像和数据存在并且彼此之间的关系相同,它甚至可以处理文档中的重大结构更改。特别是因为“查找图像”操作可以处理合理的比例变化量,还有其他一些原因,PDF 文档非常稳定。

注意

另外需要注意的重要一点是,介绍的最后这两种方法要求打开 PDF 文档,并且您尝试与之交互的数据必须可见,否则将失败。所以在构建最终的自动化系统时一定要考虑到这点,如下图。

锚点基准活动10.png

⭐ Modern Design Experience activity

打开Modern Design Experience activity,如下图,

Modern Design Experience activity1.png

拖拽Use Application活动并点击

Modern Design Experience activity2.png

此时在要获取文本的PDF上点击,获取如下结果,

Modern Design Experience activity3.png

我们点击选择器,修改文件名为"*",如下图,

Modern Design Experience activity4.png

拖拽Get Text,

Modern Design Experience activity5.png

设置要获取的文本和锚点,

Modern Design Experience activity6.png

Modern Design Experience activity7.png

最后序列的效果,

Modern Design Experience activity8.png

最后,我们运行序列,得到的结果与之前的一致。

4️⃣ 总结

关键点:

  • 从PDF文件中的元素提取文本,我们可以使用Anchor Base activity或Get Text Activity。
  • Anchor Base activity只支持在锚块中查找元素和查找图像。
  • 图像自动化不处理选择器,但其可靠性也要低得多。
  • Modern activities 在其目标定位方法中集成了锚。

5️⃣ 参考资料

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


⭐写在结尾:

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

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

相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
相关文章
|
1月前
|
Web App开发 API
在机器人流程自动化(RPA)中,判断网页或元素是否加载完成是一个重要的步骤
【2月更文挑战第24天】在机器人流程自动化(RPA)中,判断网页或元素是否加载完成是一个重要的步骤
42 6
|
1月前
,出现了一个RPA(机器人流程自动化)的运行异常,具体错误为 `rpa.core.errors.RPATimeoutError`
【2月更文挑战第21天】,出现了一个RPA(机器人流程自动化)的运行异常,具体错误为 `rpa.core.errors.RPATimeoutError`
33 2
|
2月前
|
监控 机器人 API
利用阿里云 RPA 实现自动化报告生成
在当今数字化的时代,企业和组织面临着大量的数据和信息处理需求。为了提高工作效率和准确性,自动化技术的应用变得越来越重要。阿里云 RPA(机器人流程自动化)是一种强大的工具,可以帮助我们实现报告生成的自动化。本文将介绍如何利用阿里云 RPA 实现自动化报告生成。
|
2月前
|
监控 安全 数据处理
了解阿里云 RPA:如何实现流程自动化
机器人流程自动化(RPA)是一种快速发展的技术,它可以帮助企业实现重复性任务的自动化,提高工作效率和准确性。阿里云 RPA 作为一款强大的 RPA 解决方案,为用户提供了一种简单而高效的方式来实现流程自动化。本文将介绍阿里云 RPA 的功能和特点,以及如何使用它来实现流程自动化。
|
1月前
|
API
在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
【2月更文挑战第28天】 在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
23 1
|
2月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
40 3
|
2月前
|
机器人
阿里云 RPA 的成本效益分析
机器人流程自动化(RPA)技术在企业数字化转型中扮演着越来越重要的角色。阿里云 RPA 作为一种高效的自动化解决方案,不仅可以提高业务效率,还可以降低运营成本。本文将对阿里云 RPA 的成本效益进行分析,帮助企业更好地评估和利用这一技术。
|
1月前
|
存储 机器人
在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
【2月更文挑战第28天】在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
20 1
|
2月前
|
存储 机器人
使用阿里云RPA变量的一些基本步
【2月更文挑战第8天】使用阿里云RPA变量的一些基本步
42 2
|
2月前
|
开发框架 机器人 API
定制阿里云 RPA 以满足特定业务需求
阿里云 RPA(机器人流程自动化)是一种强大的技术,可以帮助企业自动执行重复性任务,提高效率和准确性。然而,为了满足特定的业务需求,对阿里云 RPA 进行定制是至关重要的。本文将介绍如何定制阿里云 RPA 以满足特定业务需求,并提供一些实用的技巧和最佳实践。

热门文章

最新文章