UiPath读取PDF文件

3 篇文章 0 订阅
2 篇文章 0 订阅

以下的例子通过使用Read PDF Text 或 Read PDF with OCR过程说明如何读取PDF文件,使用专门的流程提取数据并保存输出的数据。你可以在UiPath.PDF.Activities 包找到这些过程。
这是自动化流程建立的方法:

  1. Open Studio and create a new Process.打开Studio并建立新流程

  2. Drag a Flowchart container in the Workflow Designer.拖动一个Flowchart容器到Workflow设计器。
    建立以下变量:
    建立变量
    注意:将你的PDF文件放在项目的路径以确保运行的流程是在一个地方。

  3. 拖一个Input Dialog过程并联接Start Node
     在属性Properities面板,在Label标签域输入表达式”choose one option below:“。
     在Option选项域输入{“Read PDF Text”,”Read PDF with OCR”}。
     在Title标题域输入值”Option”。
     在Result域输入变量chooseOption。

  4. 将Flow Decision活动放在Input Dialog活动下面并连接两者。
     在属性面板,在Codition域输入表达式chooseOption = “Read PDF Text”。

  5. 拖一个Sequence顺序容器并和Flow Decision的True分支连起来。Sequence的名字应命名为Read PDF Text.这个活动使用正则表达式提取信息。
     建立以下变量
    建立变量

  6. 双击打开Sequence容器。

  7. 拖一个Read PDF Text活动进Sequence.
     在属性面板,输入表达式”NPO Invoice.pdf”在FileName域。
     在Range域输入值 “All”.
     在Text域输入变量extractedText.

  8. 拉Assign活动到Read PDF Text活动下方。
     在To域输入arrayText变量。
     在Value域输入表达式extractedText.split(Environment.NewLine.ToArray,stringSplitOptions.RemoveEmptyEntries)

  9. 拉一个If活动到Assign活动下方。
     在Condition域输入表达式 arrayText(0).Equals(“Tiefland Glass AG”).

  10. 将一个Sequence容器放进Then域。

  11. 拖一个Assign活动进Sequence容器。
     在To域输入address变量。
     在Value域输入表达式arrayText(2)。

  12. 拖另一个Assign活动并放在前一个活动下面。
     在To域输入变量city.
     在Value域输入表达式 arrayText(3).split(“,”c)(0).

  13. 拖动另一个Assign活动并放在前一个活动下面。
     在To域输入变量phoneNumber。
     在Value域输入表达式 arrayText(4).split(“:”c)(1).split({“INVOICE”},stringSplitOptions.None)(0).

  14. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量invoiceNumber.
     在Value域输入表达式 arrayText(4).split(“:”c)(1).split({“INVOICE”},stringSplitOptions.None)(1).split(“#”c)(1).

  15. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量vendor.
     在Value域输入表达式 arrayText(arrayText.count-5)

  16. 将一个Sequence放进Else域。

  17. 拖动一个Assign活动进Sequence容器。
     在To域输入变量address.
     在Value域输入表达式 arrayText(1).

  18. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量city.
     在Value域输入表达式 arrayText(2).split(“,”c)(0).

  19. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量phoneNumber.
     在Value域输入表达式 arrayText(3).split(“:”c)(1).split({“INVOICE”},stringSplitOptions.None)(0)

  20. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量invoiceNumber.
     在Value域输入表达式 arrayText(3).split(“:”c)(1).split({“INVOICE”},stringSplitOptions.None)(1).split(“#”c)(1).

  21. 拖动另一个Assign活动并放在上一个活动下面。
     在To域输入变量vendor.
     在Value域输入表达式 arrayText(arrayText.count-5)

  22. 放一个For Each活动在If容器下方。

  23. 双击打开For Each活动。
     在Value域输入变量arrayText.

  24. 拖一个If活动进For Each活动的Body容器
     在Conditon域输入表达式 item.Contains(“Bank Name:”).

  25. 拖动另一个Assign活动进Then域。
     在To域输入变量bankName.
     在Value域输入表达式 item.Split(“:”c)(1).

  26. 放一个If活动在之前活动下方。
     在Condition域输入 item.contains(“Bank Account:”).

  27. 拖动另一个Assign活动并放进Then域。
     在To域输入变量bankName.
     在Value域输入表达式 item.Split(“:”c)(1).

  28. 放一个If活动在先前一个活动下方。
     在Condition域输入表达式 item.contains(“IBAN Code:”).

  29. 拖动一个Assign活动并放进Then域。
     在To域输入变量ibanCode.
     在Value域输入表达式 item.Split(“:”c)(1).

  30. 将Write Text File活动放在For Each活动下方。
     在属性面板的FileName域输入InvoiceDetails.text
     在Text域输入”Invoice details” +Enviroment.NewLine+Environment.NewLine+”vendor: ”+vendor+Environment.NewLin+”vendor address: “+address+Environment.NewLine+”Cit: “+city+Environment.NewLine+ “Phone number:”+phoneNumber+Environment.NewLine+”Invoice number:”+invoiceNumber +Environment.NewLine+”Bank name:”+Bank name:” +bankName+Environment.NewLine+”Bank account:”+bankAccount+Environment.NewLine+”IBANKCode:”+ibankCode

  31. 返回Main流程。

  32. 拖动一个Sequence容器并和Flow Decision的False连接。Sequence的名字应为Read With OCR.这个活动通过使用OCR引擎(微软的OCR和Tesseract OCR)提取信息.
     创建以下变量:
    建立变量

  33. 打开Sequence容器并双击。

  34. 拖动一个Read PDF With OCR活动进Sequence.
     在属性面板,在FileName域输入”Invoice02.pdf”。
     在DegreeOfParallelism域输入1。
     在ImageDpi下拉列表选择值150.
     在Range域输入”All”.

  35. 拉Tesseract OCR引擎进Read PDF With OCR活动。
     在属性面板,Image域输入值Image。
     在Language域输入“eng”。
     在Profile下拉列表选择None选项。
     在Scale域输入数值2.
     在Text域增加变量extractedTextTesseract

  36. 拉另一个Read PDF With OCR活动进Sequence并放在上一个活动下方。
     在属性面板,在FileName域输入值”Invoice02.pdf”。
     在DegreeOfParallelism域输入值1。
     在ImageDpi下拉列表选择值150。
     在Range域输入”All”.

  37. 拉Microsoft OCR引擎进Read PDF With OCR活动。
     在属性面板,在Imge域输入值”Image”。
     在Language域输入“eng”。
     在Profile下拉列表选择None选项。
     在Scale域输入数值1.
     在Text域增加变量extractedTextMicrosoft.

  38. 拖动一个Write Text File活动到Read PDF With OCR活动下方。
     在属性面板,在FileName域输入值”OCRMicrosoft.txt”。
     在Text域增加变量extractedTextMicrosoft.

  39. 拖动一个Write Text File活动到Write Text File活动下方。
     在属性面板,在FileName域输入值”OCRTesseract.txt”。
     在Text域增加变量extractedTextTesseract…

  40. 运行流程。机器人使用这个专用流程提取出数据并保存在输出文件.txt.

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值