02 UIPath分析PDF文档并导出Excel 您所在的位置:网站首页 pdf表格提取到word 02 UIPath分析PDF文档并导出Excel

02 UIPath分析PDF文档并导出Excel

2024-06-19 21:37| 来源: 网络整理| 查看: 265

前言:

     今天,来处理一个曾经遇到过的问题,即从pdf文档中读取内容,然后导入到excel中,这个也是我们经常遇到的,特别是一些经常出入货的公司,这种文件又多,手工输入又是很繁琐。用Uipath自动化来处理正好合适。

需求:

从PDF文档中提取指定字段,并存入excel中。如下图发票:

需要把红色圈起的部分提取出来,存入excel中,excel的格式和图中格式一样。本次只处理提取这部分,其它的大家可以下来后再尝试。

 

操作步骤:

1、打开uipath,新建流程GetPDF2Excel。

2、拖入构建数据表活动,然后点击活动上的“数据表”,可以看到如下的界面:

 

3、构造字段,此字段是最终输出Excel的内容:

 

4、从左侧活动中拖入“读取PDF文本”(若是没有PDF活动,需要安装,具体的安装过程,见后面对PDF Activities的安装)

5、设置PDF的相关内容:

此处主要设置这几项,若是pdf有多页,可以在范围中进行设置读取那一部分。

6、添加一个“写入行”活动,用来查看我们读取PDF的内容是否成功:

7、点击“运行”,查看执行的结果:

从此图中可以看到,发票上的文字都被提取了出来,需要导出的内容就是红色方框中的部分。后面就是怎么把这些内容转换成需要的内容了。  

8、先把前面无关的部分去除掉,使用“赋值”活动,这里我家定位到“*移动通信设备*”,从这里开始截取。

 

 

9、运行看处理的结果:

 

开头无关的内容已经去除了。

10、去除后续无关的内容,从内容可以看到,我们要取的内容占了三行,而第四行又和第一行类似,因此,我们继续用“*移动通信设备*”分割,不过这次是从新字符串的头开始取。再使用一个“赋值”活动:

此处,indexof的第二个参数是开始查找的位置,可以根据长度来,写成

“去除开头.Substring(0, 去除开头.IndexOf("*移动通信设备*", "*移动通信设备*".Length))”

11、这次运行后的结果如下:

此时,已经非常接近我们所要的结果了。

12、把字符串用“回车换行”进行分割,再使用一个“赋值”活动:

注意,此时有小感叹号,表示类型不对,split函数使用后,得到的结果是个数组类型,所以Lines的定义必须是数组类型,在参数中设置类型:

 

最终结果如下:

感叹号消失了。

13、使用遍历循环查看下得到的结果:

 

可以发现结果是正确的,但是多了几行的空行。

14、分割字符串时,加入StringSplitOptions.RemoveEmptyEntries选项就能达到去除空白行的结果,如下图:

到此处,剩下的数据已经不多了,不过第一行(显示中的0行)还需要再次分割才能得到结果。而把第二、三行拼接在第一行第一个字段下就可以了,下面我们就来做这个操作。

15、 分割第一行,

可以看到,分割后的结果是正确的,不过却多了好几项,原因是把名称字段内本身存在空格,这里为了方便,我们就采取简单的处理办法,把需要合并到一起的项合并起来.

16、合并第一列的数据:

然后与发票中的数据对照:

可以看到,第一行第一列的数据已经处理成功,然后把第二、三行的合并过来就可以了;

17、获得完整的名称,使用一个“赋值”活动,操作如下:

完整的名称到此就获取完成,

18、把获取到的数据插入到数据表中:

19、把结果写入excel中:

20、查看Exce的结果

对比发票上的相关数据:

数据是一致的,大功告成。

 

 

PS:

PDF Activities的安装

1、选择管理程序包:

2、在搜索框中输入PDF,按如下顺序操作:

 

3、接受“许可证接受”

4、可以在活动中,应用程序集成下面看到PDF控件,即表示安装成功,如下图:

=======================================

本篇内容有些多,大家可以参考使用,在阅读过程中若是有什么不明白的,可以在下方讨论区留言。

也可以关注我的微信公众号:IT人的成长



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有