🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🦀专栏简介: UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。
🌈写在前面: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元素具有不稳定的选择器,而标签元素是稳定的。也就是说,我们要获取的文本的位置是不固定的,我们需要找一处固定的元素(锚点),以此来获得我们需要的文本内容。
⭐ 锚点基准活动
锚点基准活动由两个操作组成,因为它执行的操作与另一个固定元素或锚点有关,如下图。
典型的锚点是查找元素操作。我们将使用它来精确定位一个固定元素,接近我们的目标元素;通常是它的名称,这里的 Credit。
接下来,我们要执行的操作是获取文本。
虽然这两个操作都有关联的选取器,但您会注意到它们更简单一些。
接下来对于锚点元素,用*
替换文件名部分,如下图。
锚点基准还有一个可选参数,锚点位置。它用于更清楚地定义在何处查找数据。我们可以让它保持原样,或者把它改成左侧,因为这就是我们的锚点与文本关联的位置。
我们放上MessageBox活动之后运行,可以看到准备获取到了我们需要的值,并且两个文档都有效。
锚点基准活动非常灵活,这意味着您可以在其中使用各种操作。例如,可以将查找元素操作替换为查找图像,如下图。
优点是现在 PDF 文档的结构不再那么重要,重要的是它在可见文档的任何地方都包含特定指定图像。此外,您不必再处理这么多的选择器;而且由于 PDF 文件在所有系统上看起来都一样,因此可以使用查找图像而不存在其常见的缺点。
注意在指定要查找的图像之前,最好将文档的缩放比例设置为实际大小,以确保图像完整并且准确。只需进入“视图”、“缩放”和“实际大小”。
然后回到 UiPath,单击以指定一个图像,在本例中是 Credit,并在其周围选择锚点。这样就行了,如下图。
这个方法有时比其他方法更可靠,因为只要图像和数据存在并且彼此之间的关系相同,它甚至可以处理文档中的重大结构更改。特别是因为“查找图像”操作可以处理合理的比例变化量,还有其他一些原因,PDF 文档非常稳定。
注意另外需要注意的重要一点是,介绍的最后这两种方法要求打开 PDF 文档,并且您尝试与之交互的数据必须可见,否则将失败。所以在构建最终的自动化系统时一定要考虑到这点,如下图。
⭐ Modern Design Experience activity
打开Modern Design Experience activity,如下图,
拖拽Use Application活动并点击
此时在要获取文本的PDF上点击,获取如下结果,
我们点击选择器,修改文件名为"*",如下图,
拖拽Get Text,
设置要获取的文本和锚点,
最后序列的效果,
最后,我们运行序列,得到的结果与之前的一致。
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
⭐写在结尾:文章中出现的任何错误请大家批评指出,一定及时修改。
希望写在这里的小伙伴能给个三连支持!