【前沿技术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


⭐写在结尾:

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

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

相关文章
|
18天前
|
Kubernetes 监控 安全
Kubernetes实战:集群管理与自动化技术详解
【6月更文挑战第27天】Kubernetes实战聚焦集群自动化管理,涵盖核心概念如主从架构、API Server及工作节点,强调自动扩缩容、RBAC安全控制与日志监控。通过IaC工具如Helm实现配置自动化,结合Prometheus等进行持续监控,强调安全策略与资源优化,展现K8s在现代应用管理中的威力。
|
7天前
|
机器学习/深度学习 敏捷开发 人工智能
探索自动化测试的前沿技术与实践挑战
【7月更文挑战第8天】随着信息技术的飞速发展,软件测试领域正经历着前所未有的变革。自动化测试作为提升测试效率、确保软件质量的重要手段,其前沿技术与实践挑战备受关注。本文深入探讨了自动化测试的最新进展,包括人工智能在测试用例生成中的应用、持续集成/持续部署(CI/CD)流程中的自动化策略、以及云测试平台的兴起。同时,文章分析了自动化测试实施过程中遇到的主要挑战,如环境配置的复杂性、测试用例的维护问题和跨平台测试的困难,并提供了相应的解决策略。通过案例分析,展示了成功实施自动化测试的关键因素,为软件测试专业人员提供了宝贵的参考和启示。
21 2
|
11天前
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
26 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
20天前
|
安全
DC/AC电源模块也成为了推动工业自动化生产技术进步的重要组成部分
DC/AC电源模块也成为了推动工业自动化生产技术进步的重要组成部分
DC/AC电源模块也成为了推动工业自动化生产技术进步的重要组成部分
|
20天前
DC/AC电源模块推动了工业自动化生产技术的发展
DC/AC电源模块作为电力转换装置,能够将直流电转换为交流电,并提供给工业设备供电。它的出现极大地推动了工业自动化生产技术的发展。
DC/AC电源模块推动了工业自动化生产技术的发展
|
21天前
BOSHIDA DC/AC电源模块:推动工业自动化技术的发展
BOSHIDA DC/AC电源模块:推动工业自动化技术的发展
BOSHIDA DC/AC电源模块:推动工业自动化技术的发展
|
2天前
|
机器学习/深度学习 传感器 人工智能
高效能计算机视觉技术在工业自动化中的应用与发展
随着工业自动化的迅速发展,高效能计算机视觉技术正成为关键驱动力。本文探讨了计算机视觉在工业自动化中的重要性,以及其应用和未来发展趋势。通过深入分析现有技术和案例研究,展示了计算机视觉如何提升生产效率、质量控制和安全性,并展望了其在智能制造中的潜力。 【7月更文挑战第13天】
6 1
|
6天前
|
机器学习/深度学习 人工智能 搜索推荐
智能家居技术的未来:从自动化到智能化
【7月更文挑战第9天】本文将探讨智能家居技术的发展趋势,从最初的自动化阶段到现在的智能化阶段,以及未来的可能发展方向。我们将详细讨论各种智能设备如何通过物联网(IoT)技术相互连接,以及人工智能(AI)和机器学习如何使这些设备更加智能,能够预测用户需求并提供个性化服务。
13 1
|
13天前
|
运维 资源调度 监控
精准监控与自动化:提升运维效率的关键技术
在当今信息技术快速发展的背景下,运维管理越来越需要高效的监控和自动化工具来应对复杂的系统环境和服务需求。本文探讨了如何通过精准监控技术和自动化流程,提升运维效率并减少故障处理时间,从而实现IT基础设施的稳定性和可靠性。 【7月更文挑战第2天】
|
16天前
|
存储 人工智能 运维
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
阿里云携手浙江大学、上海交大联合攻坚的超大规模云网络技术及应用成果,斩获中国自动化学会(CAA)科技进步奖一等奖。该成果实现了超大规模云网络调控技术的高性能突破,将十万级任务配置下发提升至秒级的超高水平,填补了该项技术的国内空白。