锚库在 uipath 中无法用于 pdf 提取
Anchor base not working in uipath for pdf extraction
我想从 PDF 发票中提取某些文本和数字,其中一个是总金额。问题是总金额的 位置不断从 pdf 更改为 pdf 根据那里有多少项目。如果项目很多,则 pdf 中的总金额字段将较低,如果项目数量较少,则 pdf 中的总金额将较高。参考下图。发票中只有 2 项,因此总计字段位于较高位置。但我也有发票,发票中有 15 个项目,总计字段在页面的下方或在下一页。
那我该如何提取呢?我尝试使用 Anchor base
但它不起作用!
这是我到目前为止所做的工作:
1.) 分配一个for循环,逐一打开文件夹中的每一个pdf。
2.) 对于每个 pdf,我都分配了一个适合整页的热键到 window。
3.) 然后我用的是Anchor Base
(下图f=给出的total是anchor,amount是要提取的值)
4.) 使用消息框打印值
5.) 关闭 pdf
两个可能的解决方案。
使用UiPath文档理解
您可以在社区许可证上获得一定数量的 DU 数据,然后您可以设置模板并使用锚点、令牌选择、自定义区域选择器等
读行方法
将 PDF 转换为文本。
查看提取的文本并找到可以用作锚点的 phrase/keyword。以你的例子为例,你可能会“总计:”
然后使用 Invoke Code(我将在下面的示例中使用 C#)
参数:in_text(PDF 中的文本)| out_totalAmount
代码:
var invoiceTotal = File.ReadLines(in_text).Last(e => e.StartsWith("Total: ")).Trim();
out_totalAmount = invoiceTotal.Split(new []{":"}).LastOrDefault();
我想从 PDF 发票中提取某些文本和数字,其中一个是总金额。问题是总金额的 位置不断从 pdf 更改为 pdf 根据那里有多少项目。如果项目很多,则 pdf 中的总金额字段将较低,如果项目数量较少,则 pdf 中的总金额将较高。参考下图。发票中只有 2 项,因此总计字段位于较高位置。但我也有发票,发票中有 15 个项目,总计字段在页面的下方或在下一页。
那我该如何提取呢?我尝试使用 Anchor base
但它不起作用!
这是我到目前为止所做的工作:
1.) 分配一个for循环,逐一打开文件夹中的每一个pdf。
2.) 对于每个 pdf,我都分配了一个适合整页的热键到 window。
3.) 然后我用的是Anchor Base
(下图f=给出的total是anchor,amount是要提取的值)
4.) 使用消息框打印值
5.) 关闭 pdf
两个可能的解决方案。
使用UiPath文档理解
您可以在社区许可证上获得一定数量的 DU 数据,然后您可以设置模板并使用锚点、令牌选择、自定义区域选择器等
读行方法
将 PDF 转换为文本。 查看提取的文本并找到可以用作锚点的 phrase/keyword。以你的例子为例,你可能会“总计:”
然后使用 Invoke Code(我将在下面的示例中使用 C#)
参数:in_text(PDF 中的文本)| out_totalAmount
代码:
var invoiceTotal = File.ReadLines(in_text).Last(e => e.StartsWith("Total: ")).Trim();
out_totalAmount = invoiceTotal.Split(new []{":"}).LastOrDefault();