【前沿技术RPA】 一文学会用UiPath实现PDF自动化

本文涉及的产品
票据凭证识别,票据凭证识别 200次/月
车辆物流识别,车辆物流识别 200次/月
教育场景识别,教育场景识别 200次/月
简介: 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 数据。在我们继续之前,您应该已经熟悉提取数据,以及如何使用和编辑选取器。对于这两个主题,都有单独的博文进行详细介绍,所以一定要观看这些博文,避免您在学习过程中未能完全理解其中的某些内容。

♉ 安装 UiPath PDF 活动包

首先,确保安装了处理 PDF 文件所需的所有活动和依赖项。如果活动面板中的搜索PDF结果为空,则意味着您必须安装它们。只需转到包管理器搜索 PDF,然后安装 UiPath PDF 活动包。单击安装之后,务必单击保存,以便实际安装活动集,并更新项目依赖项。

PDF活动包1.png

PDF活动包2.png

我们可以看到,要使用的最低Studio版本是2018.4.4或2019.2。在以前的Studio版本上安装包可能会导致问题。

PDF活动包3.png

接下来,您可能已经意识到这样一个事实:PDF 文件可以包含文本、图像,有时还可以包含实际上是秘密图像的文本。一种基本的识别方法是直接选择您感兴趣的元素。如您所见,选择文本很方便,而图像会作为块立即显现出来。稍后我们将了解如何处理这两种情况
UiPath 有各种各样的活动和方法来满足您所有的 PDF 需求,并且我们根据它们的预期用途将它们分为两类:第一类,用于更大的文本块或整个文档第二类,用于从 PDF 文件中提取特定的文本项,如名称、产品、发票值等。我们将从第一类开始,因为这是最简单的。

♊ 从 PDF 提取文本块或整个文档

⭐ 背景

我们要读取下图PDF,上部分是文本,下部分是图像。

提取PDF整个文档0.png

⭐方法一:读取 PDF 文本

要读取整个 PDF 文档或页面,可以使用读取 PDF 文本活动。这非常简单:选择要读取的文件,操作将输出一个包含文件内容的文本变量。我们将结果保存为文本文件,并在消息框中显示,但您可以使用其他字符串操作修改生成的文本或从中提取信息。如下图:

提取PDF整个文档1.png

Range 参数很重要,因为它定义了实际要读取的内容。可以将它设置为所有的页面,设置为All,或者设置为一个特定的页面,比如第 5 页或第 12 页,或者一系列页面,比如从第 3 页到第 7 页。我们有一个单页文档,因此可以将其设置为“全部”或 1。如下图:

提取PDF整个文档2.png

我们希望把文本写入到一个txt文件中,并通过弹窗显示出文本。如下图:

提取PDF整个文档3.png

提取PDF整个文档4.png

让我们运行项目,获取如下结果。

提取PDF整个文档5.png

当我们查看 读取 PDF 文本操作的结果时,我们发现 只有文档的文本部分被转换。文本的前两列存在,但 下半部分是一个图像,系统已将其完全忽略
⭐方法二:使用 OCR 读取 PDF

因此我们需要一个活动读取 PDF 中的图像,该操作名为使用 OCR 读取 PDF。顾名思义,它会使用光学字符识别来扫描PDF 文档中的图像,并将所有文本作为变量输出。它与非 OCR 同级操作略有不同,因为它需要 OCR 引擎

我们只需在活动窗格中搜索 OCR 即可找到可用的引擎。Studio 集成了 Google、Microsoft 和 Abbyy 的 OCR 引擎。引擎本身具有在整个应用程序中遇到的常见 OCR 参数:如允许的字符、拒绝的字符、语言、缩放比例等。不同的引擎可能有不同的参数,因此,如果您需要关于其工作方式的详细说明,请务必观看高级用户界面交互视频。这里使用Tesseract OCR 引擎运行。另外,我们删除读取 PDF 文本活动。

提取PDF OCR1.png

接下来,配置OCR引擎

提取PDF OCR2.png

您可以直接看到下半部分,也就是 PDF 的图像部分,现在它也 被转换成了文本,这没有问题。但是,如果仔细观察,您会发现文档的 文本和图像部分的两列交织在一起。这是因为大多数 OCR 引擎还不够智能, 无法自动识别文档中的 2 列布局。实际上,ABBY 是个例外,因为它保留了文档结构。所以,在与本例类似的特定情况下,ABBY 能够分离列。

提取PDF OCR3.png

一般来说,对于 OCR 技术,值得注意的一点是,它的质量会随着源图像的质量降低而迅速下降。正如您在本例中看到的,最终结果在很大程度上取决于字体大小、字体风格和图像分辨率,这些因素不一定始终在您的控制范围内。因此,只要有可能,就不要使用 OCR 读取 PDF操作。需要注意的是,这两种读取 PDF 的操作是独立的:它们不需要打开其他应用程序,因此可以在后台运行。今天您将看到的大多数其他 PDF 方法都不具备这种特性,因此,如果后台操作对您很重要。

⭐方法三:屏幕抓取工具

抓取大文本块和小文本块的另一种方法是使用方便的屏幕抓取工具。在主工具栏中可以访问这种工具,它实际上是一个交互式向导,会为您生成所需的操作。点击下图按钮,打开屏幕抓取工具,

屏幕抓取工具1.png

只需指定需要抓取的文本元素,UiPath 就会显示这个预览窗口,并提供一些选项。如果这是您第一次遇到,下面会说明它的工作原理:这是一个预览区域,显示在您刚才的选择中识别的文本元素。这是当前使用的抓取方法,如果单击此处的下拉列表,可以看到其他可用方法。而这个按钮用于在屏幕上指定另一个要抓取的元素。通常 UiPath 会检测出适合您的情况的最佳方法。

屏幕抓取工具2.png

当我们通过在右侧的下拉菜单中选择抓取方法名称,并单击刷新来更改它时,预览会相应地更新。我们将使用默认的全文方法,并单击完成。在 UiPath 中,将新创建的序列连接到起始节点,并查看其内部。

屏幕抓取工具3.png

如果在上一步中,我们选择了一种不同的抓取方法,比如 OCR,我们就会得到这些操作。

屏幕抓取工具4.png

屏幕抓取工具5.png

在本例中,这三种方法都有很好的效果,就像我们之前看到的: 只有 OCR 方法可以读取图像和文本

因此,这 3 种技术可以用来提取更大的文本段。现在,我们回顾一下!我们分析了从 PDF 文件中提取文本的方法,并使用了三种不同的方法进行该操作。

4️⃣ 参考资料

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


⭐写在结尾:

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

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

相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
相关文章
|
1月前
|
数据采集 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文件。此技术可应用于报表生成、发票打印等多种场景。
112 6
Puppeteer自动化:使用JavaScript定制PDF下载
|
2月前
|
Python
Python办公自动化:删除任意页数pdf页面
Python办公自动化:删除任意页数pdf页面
82 1
Python办公自动化:删除任意页数pdf页面
|
8天前
|
运维 监控 安全
运维自动化:提升效率与可靠性的关键技术
在信息技术飞速发展的今天,企业对IT系统的稳定性和高效性要求越来越高。运维自动化作为实现这一目标的重要手段,通过软件工具来模拟、执行和管理IT运维任务,不仅大幅提高了工作效率,还显著增强了系统的可靠性。本文将探讨运维自动化的概念、实施步骤以及面临的挑战,旨在为读者提供一份关于如何有效实施运维自动化的指南。
|
1月前
|
机器学习/深度学习 人工智能 边缘计算
AI技术趋势:从自动化到智能化的演变
AI技术趋势:从自动化到智能化的演变
|
1月前
|
机器学习/深度学习 存储 监控
深入解析软件测试中的自动化测试技术
本文旨在全面探讨软件测试中的自动化测试技术。通过对自动化测试的定义、优势、常见工具和实施步骤的详细阐述,帮助读者更好地理解和应用自动化测试。同时,本文还将讨论自动化测试的局限性及未来发展趋势,为软件测试人员提供有益的参考。
67 6
|
2月前
|
机器学习/深度学习 人工智能 物联网
智能家居技术的未来:从自动化到智能化的跨越
本文将探讨智能家居技术的发展趋势,从早期的自动化设备到现代的智能系统,分析其背后的技术驱动因素和市场动态。文章将详细讨论物联网(IoT)、人工智能(AI)、机器学习等技术如何推动智能家居的发展,并展望智能家居未来的发展方向。
|
1月前
|
运维 Prometheus 监控
提升运维效率:容器化技术与自动化工具的结合
在当今信息技术飞速发展的时代,运维工作面临着前所未有的挑战。为了应对这些挑战,本文将探讨如何通过结合容器化技术和自动化工具来提升运维效率。我们将介绍容器化技术的基本概念和优势,然后分析自动化工具在运维中的应用,并给出一些实用的示例。通过阅读本文,您将了解到如何利用这些先进技术来优化您的运维工作流程,提高生产力。
|
2月前
|
机器学习/深度学习 人工智能 物联网
智能家居技术的未来:从自动化到人工智能
本文探讨了智能家居技术的发展趋势,从早期的自动化设备到现在的人工智能集成系统。文章首先介绍了智能家居的基本概念和历史发展,然后详细分析了当前智能家居技术的主要特点,包括物联网、机器学习和用户交互界面。接着,文章讨论了智能家居技术面临的挑战,如隐私保护、数据安全和技术标准化问题。最后,展望了未来智能家居技术的发展方向,包括更加智能化的家居管理、环境自适应能力和高级用户定制服务。文章旨在为读者提供一个关于智能家居技术发展的全面视角,并引发对未来生活方式的思考。
|
2月前
|
数据安全/隐私保护 Python
Python办公自动化:给pdf加水印
Python办公自动化:给pdf加水印
34 0
|
2月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
23 0