【RPA课堂】UiPath PDF数据提取
PDF一直是存储数据最可靠的格式之一。从高速增长的公司到小型企业,每个人都以这种格式存储各种数据。想象一下,如果必须从这些PDF文档中提取原始数据,可以手动完成吗?答案是否定的,因为这是一项相当繁琐的工作,但是,如果你熟悉自动化中的某些服务,那么可以轻松地自动执行此过程。
这篇关于UiPath PDF数据提取的文章将简要介绍UiPath提供的从PDF中提取数据的所有方式,无论是原生文本格式还是扫描图像。
为了便于理解,我们将本文分为以下两个部分:
· 提取大文本
· 提取特定元素
在开始提取数据之前,需要确保从系统上安装的Manage Packages部分有UiPath.PDF.Activities。选择软件包后,单击“保存”,软件包将开始安装。参考下图:
点击视频学习UiPath PDF Data Extraction
提取大文本
在某些情况下:我们有一个完全充满文本的文档,或者文本和图像的混合。那么提取大型文本属于这种文档,其中文档仅包含文本或文本和图像的混合。
UiPath主要提供两种选项来提取大型文本。分别是:
· 阅读PDF文本
· 阅读带有OCR的PDF
除此之外,我们还有屏幕抓取方式。我们先从Read PDF开始。
阅读PDF文本
Read PDF用于从仅包含Text 的PDF文件中提取数据。因此,如果PDF中存在图像,此方式便不是正确的,因为它不会提取图像中存在的数据。
可以参考下面的图片,其中展示了我们将用于此文章的示例PDF文件。在PDF文档中,上半部分是文本,引用的部分是图像。
现在,我们创建一个序列,在其中将提到必须从中提取数据的PDF目录,并且在消息框中编写输出。
注意: 你可以将输出写入任何格式的文件,如写文本文件、写入行、写入单元格活动等。
第1步:创建一个序列并重命名。这里将其重命名为ExtractText。
第2步:拖放“ Read PDF文本”,提及必须从中提取数据的PDF文档的路径。
第3步:在属性面板中阅读PDF文本,提一个输出变量来查看输出。要设置输出变量,请按CTRL +K,然后输入名称。这里我们提到了输出。
第4步:在序列中拖放一个消息框,然后在其中提及输出变量。
完整序列和输出应分别如下面的图片所示:
在这里,可以清楚地看到我们图像中存在的文本未被提取,并且仅提取了样本PDF文档中存在的文本。
阅读带有OCR的PDF
带有OCR的Read PDF用于从包含文本和图像的PDF文档中提取数据。因此,如果除文档中的文本外还有其他图像,则将从这些图像中提取数据并提供文本输出。
正如该名称所示,这种方式使用光学字符识别来扫描PDF文档内的图像,并将所有文本作为变量输出。所以它需要一个OCR引擎。在“活动窗格”中,搜索OCR引擎,将获得已安装引擎的列表。请参阅上图。
现在创建一个序列,在这个序列中提到要从中提取数据的PDF目录,并将输出写入消息框中。唯一的区别是,你将看到图像中的文本也被提取出来。
按照以下步骤,创建自动化以提取图像中的文本。
步骤1:创建一个序列并重命名。在这里,我们将其重命名为使用OCR提取文本。
步骤2.1:拖放带有OCR的Read PDF。在activity中,提到必须从中提取数据的PDF文档的路径。
步骤2.2:搜索OCR引擎,并根据安装的引擎拖放一个OCR引擎。这里我们使用了Google OCR Engine。
步骤3:现在,在带有OCR Activity的Read PDF的属性窗格中,提到一个输出变量以查看输出。设置输出变量按CTRL + K,然后输入名称。这里我们提到了输出。
步骤4:在序列中拖放一个消息框,然后在其中提及输出变量。
完整序列和输出分别如下面的图片所示:
在这里,你可以清楚地看到示例文档图像中存在的文本已被提取。这就是如何使用带有OCR的Read PDF的操作方式。
关键点
1、在“读取文本”方式 和“ 使用OCR 读取PDF”中,我们有一个名为Range的参数。此参数用于提及必须从中提取数据的页码范围(1、All、2-10、10-All)。
2、上述两种方式都是独立的,它们不需要打开其他应用程序。因此,即使PDF文档未在屏幕上打开,这些Activity也可以执行任务。
除了上述方式之外,还有另一种提取数据的方法,即使用“Design”选项卡中的屏幕抓取向导。
屏幕抓取向导
屏幕抓取向导是UiPath提供的一项功能,用于从多个平台中抓取数据。
要使用此向导,可以遵循以以下步骤,将PDF文档打开。
步骤1:单击屏幕抓取图标,然后选择要提取的PDF文档中的部分。
步骤2:将被重定向到屏幕抓取向导,可以使用提取的文本将在下面看到。现在你可以选择抓取方法(Native/Full Text/OCR)。选择所需的方法,然后单击“ 完成”。
步骤3:单击完成后,Scraping Wizard将返回到序列。在这里添加一个消息框以查看输出并提及输出变量,该变量在返回序列中的“获取全文/获取OCR文本” Activity中提到。这里的变量名是“AvlAvview”,我们在消息框中提到过。
完整序列和输出如下图所示:
在这里可以清楚地看到示例文档图像中存在的文本被提取出来,以及文件中的文字。
提取特定元素
通过提取特定元素,这里的意思是可以在某些情况下提取特定元素,例如发票中的总计或简历中的联系人号码等。
UiPath主要提供两种选项来提取大型文本。分别是:
· 获取文本方式
· Anchor Base方式
获取文本方式
此方式只是指向你要提取的元素。使用此方式可以提取文本,并可以使用输出变量。之后可以使用消息框或Write Text File方式并提及输出变量。
参考下面的图片检查顺序和输出。在这里,我们提取了总金额,然后在消息框中显示输出。
这就是如何使用Get Text Action。现在,转到我们的下一个活动,即Anchor-BaseActivity。
Anchor Base方式
Anchor Base 方式用于提取文本和图像。此方式由两个操作组成,因为它执行与另一个固定元素或Anchor相关的操作。
典型的Anchor Base主要有两个:
· 查找元素/查找图像
· 获取文本
查找元素/查找图像
查找元素/查找图像用于查找文本和图像。可以根据需要使用这些方式。现在,由于Anchor Base是一个相对操作,可以像之前提到的那样使用Get Text 方式。
参考下图。在这里使用了Anchor-Base ,以及Find Image 和Get Text 。在“Find Image”中,选择了“Total(总计)”,因此基本上会搜索“Total(总计)”,然后在“Get Text”中,由于选择了该值,因此将提取该值。
类似地,你也可以使用Find Element 方式。
【RPA课堂】栏目主要介绍与RPA相关的学习内容,其中包括RPA基础知识、(UiPath、Blue Prism、AuTomation)工具操作练习、顶级RPA项目实践等干货内容,形式不限于文字、图片,还包括直观的视频呈现,希望能够对大家了解、学习RPA有些许帮助,该栏目我们将固定更新,请大家持续关注。
News
往期精彩内容推荐