备注
自 2025 年 5 月起,从文档中提取信息的操作名称为处理文档。
要在 Power Automate 中使用文件处理模型,请按以下步骤操作。
登录到 Power Automate。
选择+创建>即时云端流。
选择手动触发流>创建。
选择手动触发流,然后在左侧面板中选择 +添加输入>文件。
在设计器中,选择手动触发流后面的 +,然后在操作列表中选择处理文档。
选择要使用的文档处理模型,然后选择文档类型。
在窗体字段中,添加触发器中的
File Content
。在后续操作中,可以使用 AI Builder 模型提取的任何字段和表。 例如,假设您的模型经过训练,可以提取
InvoiceID
和Total
值。 您还想在 AI Builder 从文档中提取它们后将它们发布到 Microsoft Teams 渠道。 您应该添加在聊天或渠道中发布消息操作,然后添加 AI Builder 模型中的输出字段。备注
- 若要检索字段的值,请选择 <field_name> 值。
- 若要检索提取项的置信度分数,选择<字段_名称>置信度分数。
恭喜! 您已经创建了一个使用 AI Builder 文档处理模型的云端流。 选择右上角的保存,然后选择测试以试用您的云端流。
页面范围
对于具有多页的文档,可以指定要处理的页面范围。
在处理文档卡上,选择高级参数,然后选择页面。
在页面参数中,输入页面值或页面范围。 示例: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 文件中。
选择您希望为表写入单元格的字段。 动态内容面板将打开,显示文档处理模型知道如何提取的所有内容。 搜索 {您的表名称} {您的列名称} 值。 我们的示例使用了
Items Quantity value
。添加此值后,添加位置的操作会自动插入到Apply to each控件中。 这样,当云端流运行时,表格中的每一行都会被处理。
继续添加要迭代的列。
处理 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 文档处理提取的值的目标需要一个数字,您可以使用 int 或 float 表达式将值转换为数字。 如果数字没有小数,使用 int。 如果数字有小数,则使用 float。 下面是操作方法:
float('<document processing output>')
删除 Power Automate 中文档处理输出中的空格
要从输出值中删除空格,请使用 replace 函数:
replace(<document processing output>, ' ', '')
在 Power Automate 中将文档处理输出字符串转换为日期
AI Builder 文档处理将所有输出作为字符串返回。 如果要保存通过文档处理提取的值的目标需要采用日期格式,您可以将包含日期的值转换为日期格式。 使用 formatDateTime 表达式执行此操作。 下面是操作方法:
formatDateTime(<document processing output>)
筛选流中的电子邮件签名,使其不被文档处理模型处理 (Microsoft 365 Outlook)
对于来自 Microsoft 365 Outlook 连接器的传入电子邮件,Power Automate 会将电子邮件签名作为附件选择。 要防止文档处理模型处理这些内容,请向您的云端流添加一个条件,检查来自名为附件为内联附件的 Microsoft 365 Outlook 连接器的输出是否等于 false。 在条件的 If yes 分支中添加文档处理操作。 这样,只会处理不是内联签名的电子邮件附件。