【前沿技术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,应用服务采用阿里云短信服务,
相关文章
|
1月前
|
运维 监控
现代运维中的自动化技术应用与挑战
现代运维工作中,自动化技术的应用已成为提高效率、降低成本的重要手段。本文探讨了自动化技术在运维领域的应用现状和挑战,包括自动化工具的选择、实施过程中的注意事项以及未来发展趋势。通过深入分析,帮助读者更好地理解和应用自动化技术,提升运维工作效率。
17 2
|
2月前
|
安全 测试技术
现代软件测试中的自动化技术应用及挑战
在当今数字化时代,软件测试的重要性日益凸显。本文探讨了现代软件测试中自动化技术的应用现状和挑战,分析了自动化测试在提高效率、降低成本、增强可靠性等方面的优势,同时也提出了自动化测试所面临的挑战和解决方案。
|
3月前
|
编解码 数据可视化 数据挖掘
【办公自动化】用Python将PDF文件转存为图片
【办公自动化】用Python将PDF文件转存为图片
69 1
|
6天前
|
数据采集 机器学习/深度学习 人工智能
自动化测试中AI辅助技术的应用与挑战
【4月更文挑战第30天】随着人工智能(AI)技术的飞速发展,其在软件自动化测试领域的应用日益增多。本文探讨了AI辅助技术在自动化测试中的应用情况,包括智能化测试用例生成、测试执行监控、缺陷预测及测试结果分析等方面。同时,文章还分析了在融合AI技术时所面临的挑战,如数据质量要求、模型的透明度与解释性问题以及技术整合成本等,并提出了相应的解决策略。
|
7天前
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
|
8天前
|
数据采集 开发框架 安全
【专栏】阿里云 RPA(Robotic Process Automation)浏览器自动化插件
【4月更文挑战第29天】阿里云RPA浏览器自动化插件是一款基于AI的创新工具,能模拟浏览器操作,实现自动化业务流程,提升效率,降低成本。其特点包括强大的自动化能力、智能识别处理、灵活定制、稳定性能及安全保障。适用于数据采集、表单填写、网页测试、办公自动化和电商运营等场景,助力企业数字化转型。
|
8天前
|
机器学习/深度学习 人工智能 算法
深入分析自动化测试中AI驱动的测试用例生成技术
【4月更文挑战第29天】随着人工智能技术的不断发展,其在软件测试领域的应用也越来越广泛。本文主要探讨了AI驱动的测试用例生成技术在自动化测试中的应用,以及其对提高测试效率和质量的影响。通过对现有技术的深入分析和实例演示,我们展示了AI如何通过学习和理解软件行为来自动生成有效的测试用例,从而减少人工编写测试用例的工作量,提高测试覆盖率,降低错误检测的成本。
|
13天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
40 0
|
2月前
|
人工智能 jenkins 大数据
软件测试中的自动化工具和技术
随着软件行业的快速发展,软件测试变得愈发重要。本文将探讨软件测试中的自动化工具和技术,介绍了自动化测试的优势、常用的自动化测试工具和技术,并探讨了自动化测试在当前软件开发过程中的应用前景。
|
2月前
|
人工智能 运维 监控
未来数据中心的自动化运维技术探索
随着信息技术的快速发展,未来数据中心的运维需求将变得更加复杂而多样化。本文将探讨自动化运维技术在未来数据中心中的应用,分析其优势和挑战,并探讨如何实现高效的自动化运维管理。

热门文章

最新文章