【问题标题】:Scrape Field Value Data from PDF using UIPath使用 UIPath 从 PDF 中刮取字段值数据
【发布时间】:2019-06-06 06:24:52
【问题描述】:

我想从“w2 表单”(pdf) 中抓取数据,以便我可以将其保存到数据库中,但无法获取字段数据。

  1. 我尝试了“Read PDF text”,它读取整个文档并获取所有文本,但我想找到字段明智的值,例如,

    员工的社会安全号码 => 1234 56 7890

    雇主识别号 => 11-22334455

  2. 我尝试了“Screen scraping”、“Data Scraping”,但无法获取任何特定元素。

  3. 我已尝试使用“查找图像”和“获取文本”进行“Anchorbase”活动,但无法选择特定元素。

请找到随附的 pdf 文档供您参考。

W2 Form pdf

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: pdf screen-scraping uipath-studio


    【解决方案1】:

    这是完全可读的 .pdf 文件,因此实现这一点应该不成问题。您必须阅读文档文本,然后使用正则表达式来查找您想要的内容。社会保险号或身份证号是相当结构化的数据,因此您可以轻松构建正则表达式。 https://regex101.com/ 可以对此有所帮助。

    你必须:

    1. 使用 Read PDF Text 活动获取 .pdf 文本,
    2. 分配活动,创建 System.Text.RegularExpressions.Match 类型的新变量
    3. 导入命名空间:System.Text.RegularExpressions
    4. 在分配使用的右侧:Regex.Match(readedText, "\d{2}-\d{8}") 引号中是雇主识别号的正则表达式,
    5. 如果 UiPath 显示未声明“Regex”,请保存工作流,将其关闭,再次打开,再次导入命名空间,删除分配活动并再次创建。
    6. 就是这样,您可以通过同样的方式找到第二个号码。

    编辑。 example.xaml

    【讨论】:

    • 您好 p0tfur 感谢您的宝贵帮助,非常感谢。但是您指出的是相同的模式匹配技术,这将不是准确/正确的答案,因为我们的数据输入是解析的 pdf 数据,它会有所不同。 SSN 和 EIN 是两个具有一些固定/标准模式的字段,但假设两个解析的 pdf 数据都只包含 9 位数字(没有任何字符/间距),我们如何区分它们。
    • 此外,如果您查看数字 1 到 12 的 pdf 字段,其余字段也仅包含数字。我们无法通过正则表达式模式匹配轻松检测到它,我们需要一些处理特定元素/锚点的可靠/完整证明技术(Anchor Base - youtu.be/jncjBCY4Auw 视频讨论它)。您能否建议一些方法来使用 Get text 方法作为 anchorbase 活动的操作? (在我们的例子中,获取文本方法不起作用,因为它认为它是图像)
    • 这个文档(表中所有数据,表下数据都可以)好像不能选择,所以这可能是问题。您可以尝试使用 Recroding -> Desktop -> Text -> Scrape -> Scrape Relative。可能它不会与“本机”选项一起使用,但应该与“OCR”一起使用。问题是这是否适合您。
    • 如果您确定表单的大小(分辨率等)始终相同,则可以使用屏幕抓取而不查找相关图像。
    • 我已经尝试过使用“OCR”/“全文”,但它不起作用它为任何元素选择返回空字符串
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2021-04-26
    • 2016-02-16
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多