在 Power Automate 中使用文档处理模型

备注

自 2025 年 5 月起,从文档中提取信息的操作名称为处理文档

要在 Power Automate 中使用文件处理模型,请按以下步骤操作。

  1. 登录到 Power Automate

  2. 选择+创建>即时云端流

  3. 选择手动触发流>创建

  4. 选择手动触发流,然后在左侧面板中选择 +添加输入>文件

  5. 在设计器中,选择手动触发流后面的 +,然后在操作列表中选择处理文档

  6. 选择要使用的文档处理模型,然后选择文档类型。

  7. 窗体字段中,添加触发器中的 File Content

    “表单”字段中“文件内容”的屏幕截图。

  8. 在后续操作中,可以使用 AI Builder 模型提取的任何字段和表。 例如,假设您的模型经过训练,可以提取 InvoiceIDTotal 值。 您还想在 AI Builder 从文档中提取它们后将它们发布到 Microsoft Teams 渠道。 您应该添加在聊天或渠道中发布消息操作,然后添加 AI Builder 模型中的输出字段。

    备注

    • 若要检索字段的值,请选择 <field_name> 值
    • 若要检索提取项的置信度分数,选择<字段_名称>置信度分数

    “在聊天或渠道中发布消息”的屏幕截图。

恭喜! 您已经创建了一个使用 AI Builder 文档处理模型的云端流。 选择右上角的保存,然后选择测试以试用您的云端流。

页面范围

对于具有多页的文档,可以指定要处理的页面范围。

  1. 处理文档卡上,选择高级参数,然后选择页面

  2. 页面参数中,输入页面值或页面范围。 示例:1 或 3-5。

    您在其中输入页面范围的页面字段的屏幕截图。

备注

如果您有一个只有一个窗体的大型文档,我们强烈建议您使用 Pages 参数。 这样做可以降低模型预测的成本,从而提高性能。 但是,页面范围应包含唯一表单,操作才能返回正确的数据。

示例:文档包含第 2 页中的第一个表单和跨越第 3 页和第 4 页的第二个表单:

  • 如果您输入页面范围 2,它将返回第一个表单的数据。
  • 如果您输入页面范围 3-4,它将仅返回第二个表单的数据。
  • 如果输入页面范围 2-4,则只会返回第一个和第二个表单的部分数据(应避免这种情况)。

输入参数

客户 必需 类型​​ Description
AI 模型 可以 模型 用于分析的文档处理模型 经过训练的已发布文档处理模型
文档类型 列表 要分析的表格的文件类型 PDF 文档 (.pdf)、JPEG 图像 (.jpeg)、PNG 图像 (.png)
表单 文件 要处理的表格
不可以 string 要处理的页面范围

输出参数

客户 类型​​ Description
{field} 值 string AI 模型提取的值
{field} 置信度分数 float 模型对其预测的置信度 值的范围为 0 到 1。 接近 1 的值表明提取的值的准确性更强
{table}{column} 值 string AI 模型为表中的单元格提取的值
{table}{column} 置信度分数 float 模型对其预测的置信度 值的范围为 0 到 1。 接近 1 的值表明提取的单元格值的准确性更强

备注

  • 可能建议更多输出参数,如字段坐标、多边形、边界框和页码。 这些参数不会有意列出,它们用于高级用途。

  • 坐标以文档高度和宽度的百分比表示,从左上角开始。 例如,如果给定坐标 X = 0.10 和 Y = 0.20,这表示文档沿 X 轴宽度的 10% 和沿 Y 轴高度的 20% 处的位置,两者都是从左上角测量的。

常见用例

在 Power Automate 中迭代文档处理表输出

为了说明此过程,我们使用以下示例,在此示例中,我们训练文档处理模型来提取我们命名为项目的表,其包含三个列:数量说明总计。 我们希望将表中的每个明细项目存储到 Excel 文件中。

通过文档处理提取的表的屏幕截图。

  1. 选择您希望为表写入单元格的字段。 动态内容面板将打开,显示文档处理模型知道如何提取的所有内容。 搜索 {您的表名称} {您的列名称} 值。 我们的示例使用了 Items Quantity value

    “在窗体中处理和保存信息”屏幕的屏幕截图。

  2. 添加此值后,添加位置的操作会自动插入到Apply to each控件中。 这样,当云端流运行时,表格中的每一行都会被处理。

  3. 继续添加要迭代的列。

    “将行添加到表中”卡的屏幕截图。

处理 Power Automate 中复选框的输出

复选框值是布尔类型:true 表示复选框在文档中被标记为选中状态,false 表示没有。

检查具体值的一种方法是使用 Condition 操作。 如果复选框值等于 true,则执行一个操作。 如果值为 false,则执行其他操作。 下图显示了一个示例。

检索条件中的复选框值的屏幕截图。

另一个选项是使用 if 表达式将复选框的 true/false 输出映射到您选择的其他值。 例如,如果选择了文档中的一个复选框,您可能在 Excel 文件中有一个列,您希望在其中写入“Priority”,或者如果未选择,写入“Non-priority”。 可以使用以下表达式来实现此目的:if(<document processing output>, 'Priority', 'Non-priority')。 下面的动画显示了一个示例。

动画演示了如何使用表达式映射复选框返回的布尔值。

删除 Power Automate 中文档处理输出中的货币符号(€、$...)

例如,文档处理模型提取的总计值可能含有货币符号,例如,$54。 要删除 $ 符号或任何其他要省略的符号,请使用 replace 表达式将其删除。 操作步骤如下:

replace(<document processing output>, '$', '')

替换货币表达式的动画。

在 Power Automate 中将文档处理输出字符串转换为数字

AI Builder 文档处理将所有提取的值作为字符串返回。 如果您要保存通过 AI Builder 文档处理提取的值的目标需要一个数字,您可以使用 intfloat 表达式将值转换为数字。 如果数字没有小数,使用 int。 如果数字有小数,则使用 float。 下面是操作方法:

float('<document processing output>')

演示如何将“转换为数字”表达式添加到云端流中操作的输入字段的动画。

删除 Power Automate 中文档处理输出中的空格

要从输出值中删除空格,请使用 replace 函数:

replace(<document processing output>, ' ', '')

替换空格表达式的动画。

在 Power Automate 中将文档处理输出字符串转换为日期

AI Builder 文档处理将所有输出作为字符串返回。 如果要保存通过文档处理提取的值的目标需要采用日期格式,您可以将包含日期的值转换为日期格式。 使用 formatDateTime 表达式执行此操作。 下面是操作方法:

formatDateTime(<document processing output>)

formatDateTime 表达式的动画。

筛选流中的电子邮件签名,使其不被文档处理模型处理 (Microsoft 365 Outlook)

对于来自 Microsoft 365 Outlook 连接器的传入电子邮件,Power Automate 会将电子邮件签名作为附件选择。 要防止文档处理模型处理这些内容,请向您的云端流添加一个条件,检查来自名为附件为内联附件的 Microsoft 365 Outlook 连接器的输出是否等于 false。 在条件的 If yes 分支中添加文档处理操作。 这样,只会处理不是内联签名的电子邮件附件。

筛选附件条件的屏幕截图。