低代码集成:将PDF-Extract-Kit-1.0接入Power Platform的完整教程

低代码集成:将PDF-Extract-Kit-1.0接入Power Platform的完整教程

你是不是也遇到过这样的情况:公司里每天都有大量PDF格式的合同、发票、报告需要处理,手动复制粘贴不仅费时费力,还容易出错?而开发一个完整的自动化系统又太复杂,API调用、身份验证、数据解析……光是想想就头大。

别担心,今天我要分享的这个方法,完全不需要写一行后端代码,就能把强大的AI驱动PDF解析能力——PDF-Extract-Kit-1.0,轻松集成到你的Power Apps应用中。哪怕你是零编程基础的业务人员,也能在30分钟内完成整个流程。

PDF-Extract-Kit-1.0 是目前开源社区中表现最出色的PDF内容提取工具之一。它不仅能精准识别文本、表格、图像和公式,还能理解文档的布局结构,即便是扫描件或模糊文件也能保持高准确率。更重要的是,它的模型已经预置在ZEEKLOG星图镜像广场中,支持一键部署为HTTP服务,这为我们通过Power Automate调用提供了极大便利。

本文将带你从零开始,一步步实现:

  • 如何快速部署 PDF-Extract-Kit-1.0 镜像并启动API服务
  • 如何在 Power Automate 中封装该服务为自定义操作
  • 如何在 Power Apps 中调用这个功能,上传PDF并查看提取结果
  • 关键参数设置与常见问题避坑指南

学完之后,你可以立即用这套方案来构建自己的“智能文档处理中心”,比如自动提取发票信息生成Excel、解析合同关键条款做风险提示,甚至搭建一个部门级的知识库自动入库系统。

准备好了吗?我们马上开始!


1. 环境准备与镜像部署

要想让Power Platform能“看懂”PDF文件,我们必须先让它背后有一个强大的“眼睛”——也就是能够真正解析PDF内容的服务。这个服务就是由 PDF-Extract-Kit-1.0 提供的AI模型服务。好消息是,我们不需要自己从头搭建,ZEEKLOG星图镜像广场已经为我们准备好了预配置好的镜像,只需点击几下就能运行起来。

1.1 找到并部署 PDF-Extract-Kit-1.0 镜像

首先打开 ZEEKLOG 星图镜像广场(https://ai.ZEEKLOG.net),搜索关键词 “PDF-Extract-Kit” 或直接查找模型名为 PDF-Extract-Kit-1.0 的镜像。你会发现这是一个专为复杂PDF解析设计的AI工具包,集成了 LayoutLMv3、StructEqTable 等多个先进模型,具备以下核心能力:

  • 布局检测:自动识别标题、段落、表格、图片等区域
  • OCR增强:即使面对低质量扫描件也能提取清晰文字
  • 表格还原:支持将表格转换为 Markdown / HTML / LaTeX 格式
  • 公式识别:可提取数学表达式并保留结构信息
  • 多语言支持:对中文文档有专门优化,识别更准确

选择该镜像后,点击“一键部署”。平台会自动为你分配GPU资源(建议选择至少16GB显存的实例类型,如V100或A10G),并在后台拉取镜像、安装依赖、启动服务。

⚠️ 注意
部署过程中请确保选择了“对外暴露服务端口”的选项,默认服务运行在 8503 端口。部署成功后,你会获得一个公网可访问的URL地址,形如:http://<your-instance-ip>:8503

这个URL就是我们将要在Power Automate中调用的核心接口地址。

1.2 验证服务是否正常运行

部署完成后,第一步不是急着连Power Platform,而是先确认服务本身能不能用。我们可以用浏览器或命令行简单测试一下。

打开任意终端工具(如Windows PowerShell或Mac Terminal),执行以下命令:

curl -X POST http://<your-instance-ip>:8503/predict \ -H "Content-Type: multipart/form-data" \ -F "file=@./sample.pdf" 

<your-instance-ip> 替换成你实际的IP地址,sample.pdf 换成本地任意一个PDF文件路径。如果返回的是JSON格式的结果,包含 text, tables, images 等字段,说明服务已经跑通了!

返回示例片段如下:

{ "text": "第一章 引言...\n本研究旨在探讨...", "tables": [ "| 年份 | 收入 | 利润 |\n|------|------|-------|\n| 2022 | 100万 | 20万 |" ], "images": ["base64_encoded_image_data..."] } 

看到这些结构化数据出来,你就离成功不远了。这说明AI已经把PDF里的内容“读”了出来,并且分门别类整理好了。

1.3 了解关键接口与参数配置

PDF-Extract-Kit-1.0 提供了多个API端点,但我们最常用的是 /predict 接口。它接受一个PDF文件作为输入,输出结构化的文本、表格和图像信息。

以下是几个重要的请求参数(通过表单字段传递):

参数名类型说明
filefile必填,上传的PDF文件
output_formatstring可选,指定表格输出格式:markdown, html, latex
with_ocrboolean是否强制启用OCR(适合扫描件)
detect_tablesboolean是否检测并提取表格
detect_formulasboolean是否识别数学公式

举个例子,如果你想提取一份财务报表中的表格,并希望以Markdown格式返回,可以这样构造请求:

curl -X POST http://<your-ip>:8503/predict \ -F "file=@financial_report.pdf" \ -F "output_format=markdown" \ -F "detect_tables=true" 

这些参数将在后续集成到Power Automate时派上用场。记住,不是所有PDF都需要开启全部功能,合理关闭不必要的模块(比如没有公式的文档就不开detect_formulas),可以显著提升处理速度。

1.4 安全性与访问控制建议

虽然我们现在使用的是公网IP直接暴露服务,但在生产环境中,建议增加一层安全防护:

  • 使用反向代理(如Nginx)添加HTTPS加密
  • 设置基本的身份认证(Basic Auth)或Token验证
  • 限制IP白名单,只允许来自Power Automate出口IP的请求

不过对于个人测试和小范围使用,当前配置已经足够。只要你不公开分享你的服务地址,风险非常低。

现在,我们的PDF解析引擎已经就绪,下一步就是让它和Power Platform“握手”。


2. 在 Power Automate 中封装 API 调用

Power Automate 是微软低代码生态的核心组件,它的强大之处在于可以用图形化方式连接各种服务。接下来我们要做的,就是把刚刚部署好的 PDF-Extract-Kit-1.0 服务包装成一个“自定义连接器”(Custom Connector),这样在任何Power App里都能像调用本地函数一样使用它。

2.1 创建自定义连接器

登录 Power Automate 后,进入左侧菜单的“数据” → “自定义连接器” → “新建自定义连接器”。

填写基本信息:

  • 名称:PDF Extract Kit 1.0
  • 说明:用于从PDF中提取文本、表格和图像的AI服务
  • 连接器图标:可上传一个PDF或AI相关的图标(非必需)

点击“继续”进入API定义页面。

2.2 配置连接参数与身份验证

在这个步骤中,我们需要告诉Power Automate如何连接到我们的服务。

在“安全性”选项卡中:

  • 选择“无”作为身份验证类型(因为我们目前未设密码)
  • 如果你后期加了Token验证,可以选择“订阅密钥”或“Bearer Token”

然后回到“定义”选项卡,开始添加操作。

2.3 添加“Extract PDF Content”操作

点击“+ 新建操作”,填写以下信息:

  • 操作名称Extract PDF Content
  • 描述:上传PDF并提取结构化内容
  • 动词:POST
  • URL{{host}}/predict
    • 其中 {{host}} 是变量,代表你的服务地址,例如 http://123.45.67.89:8503

接着配置请求体(Request Body)。由于我们要上传文件,所以选择“multipart/form-data”类型。

添加以下参数:

参数名类型必需示例值描述
fileFilesample.pdf要解析的PDF文件
output_formatStringmarkdown表格输出格式
detect_tablesBooleantrue是否检测表格
with_ocrBooleantrue是否启用OCR

注意:file 类型必须选择“File”,其他为常规输入。

最后设置响应(Response):

  • 响应内容类型:application/json
  • 示例响应:粘贴之前 curl 测试返回的 JSON 结果

保存并测试连接器。你可以上传一个小PDF进行测试,看看是否能收到正确的结构化输出。

2.4 发布并授权连接器

完成测试后,点击“保存”,然后“发布”连接器。发布成功后,它就会出现在你的组织可用连接器列表中。

此时你还需要创建一个“连接”(Connection)实例,指向你的实际服务地址。在“连接”页面点击“+ 新建连接”,输入:

  • 连接名称:My PDF Extractor
  • 主机地址:http://<your-instance-ip>:8503

保存后,这个连接就可以被Power Apps调用了。

整个过程就像给一台远程打印机装上了驱动程序——现在Windows知道怎么跟它通信了,接下来任何应用程序都可以打印。


3. 在 Power Apps 中调用并展示结果

终于到了最激动人心的部分:在Power Apps里实现一个真正的“拖拽式”PDF解析应用!我们将构建一个简单的界面,用户只需点击按钮上传PDF,就能看到提取出的文本和表格。

3.1 创建新的 Canvas App

打开 Power Apps,点击“创建” → “空白手机应用”或“平板应用”(根据使用场景选择)。

命名项目为:“智能PDF提取器”。

3.2 添加控件布局

在画布上依次添加以下控件:

  1. Label:标题,写上“PDF内容提取工具”
  2. Button:命名为“上传并解析PDF”
  3. FilePicker 控件(如果没有,可用 Image 控件替代,设置为允许PDF上传)
  4. Text Input:用于显示提取的文本内容(多行)
  5. Data Table:用于展示提取的表格数据
  6. Image Gallery:可选,用于预览提取的图片

调整布局使其美观易用。

3.3 绑定自定义连接器

点击左侧“数据源”面板,刷新后应该能看到你刚发布的 PDF Extract Kit 1.0 连接器。点击添加。

然后选中“上传并解析PDF”按钮,在“OnSelect”事件中输入以下公式:

Set( pdfResult, 'PDF Extract Kit 1.0'.ExtractPDFContent( FilePicker1.Selected.File, "markdown", true, true ) ) 

这里我们调用了连接器的 ExtractPDFContent 操作,传入:

  • 文件:FilePicker1.Selected.File
  • 输出格式:markdown
  • 开启表格检测
  • 开启OCR

返回结果存储在变量 pdfResult 中。

3.4 展示提取结果

接下来,我们将 pdfResult 中的数据绑定到对应控件。

显示文本内容

选中用于显示文本的 Text Input 控件,将其 Default 属性设置为:

pdfResult.text 

这样当解析完成后,提取的纯文本就会自动填充进去。

解析并展示表格

表格部分稍微复杂一点,因为返回的是字符串形式的Markdown表格。我们可以用Power Fx内置函数进行简单处理。

添加一个新的集合来解析表格:

ClearCollect( ParsedTables, ForAll( Split(pdfResult.tables, "|||"), // 假设多个表格用分隔符隔开 { TableMarkdown: ThisRecord.Value } ) ) 

然后将 Data TableItems 属性设为 ParsedTables,并设置列名为 TableMarkdown

如果你希望进一步拆分成行列结构,可以结合 Split()MatchAll() 函数实现,但这属于进阶玩法。对于大多数业务场景,直接展示Markdown格式已足够清晰。

图片预览(可选)

如果需要查看提取的图像,可以将 Image GalleryItems 设置为:

Split(pdfResult.images, ",") 

并通过 Image 控件加载Base64编码的图片(需额外解码逻辑,可在高级模式下使用JavaScript嵌入)。

3.5 添加加载状态与错误提示

为了让用户体验更好,我们可以加入一些反馈机制。

在按钮点击前显示加载动画:

Set(isLoading, true); Set(pdfResult, 'PDF Extract Kit 1.0'.ExtractPDFContent(...)); Set(isLoading, false) 

并在界面上放一个 Spinner 或 Label 显示“正在解析…”。

同时捕获可能的错误:

If( IsError(pdfResult), Notify("解析失败,请检查文件格式或网络连接", NotificationType.Error), Notify("解析成功!", NotificationType.Success) ) 

这样一来,整个应用就有了完整的交互闭环。


4. 实际应用场景与优化技巧

学会了基本集成方法后,我们来看看几个真实业务场景中如何发挥这套系统的价值,以及一些实用的优化技巧。

4.1 场景一:自动提取发票信息

假设你是财务部门的一员,每天要处理几十张供应商发票。传统做法是手工录入金额、税号、日期等信息。

现在你可以这样做:

  1. 用户上传发票PDF
  2. Power App调用PDF-Extract-Kit提取全文
  3. 使用Power Automate中的“文本分析”动作,匹配关键词如“金额”、“税率”、“发票号码”
  4. 自动填入Dataverse数据库或Excel表格

这样一次上传,全程自动,效率提升十倍不止。

4.2 场景二:合同关键条款提醒

法务团队经常需要审查合同期限、违约责任、付款条件等。你可以:

  • 提取合同全文后,用正则表达式或AI文本分类模型识别特定段落
  • 当发现“自动续约”、“不可撤销”等高风险词汇时,弹出红色警告
  • 自动生成摘要报告并发送邮件通知相关人员

4.3 场景三:学术论文知识库构建

研究人员面对海量PDF论文,想要建立内部知识库。利用本方案:

  • 批量上传论文PDF
  • 提取摘要、图表、参考文献
  • 将表格数据导入数据库,支持结构化查询
  • 结合Embedding模型生成向量索引,实现语义搜索

4.4 性能优化与成本控制

虽然PDF-Extract-Kit功能强大,但AI推理是有成本的,尤其是GPU资源消耗较大。以下几点可以帮助你平衡性能与开销:

  • 按需启用OCR:清晰的电子版PDF无需OCR,关闭with_ocr可提速30%
  • 限制并发数:避免短时间内大量请求压垮服务
  • 缓存结果:相同文件MD5校验后直接返回历史结果
  • 压缩PDF:上传前用工具减小文件体积,降低传输和处理负担

此外,建议在非工作时间关闭GPU实例,仅在需要时启动,节省费用。


总结

  • 一键部署即可用:ZEEKLOG星图镜像广场提供的PDF-Extract-Kit-1.0镜像开箱即用,省去环境配置烦恼
  • 真正低代码集成:通过Power Automate自定义连接器,无需编写后端代码就能调用AI服务
  • 灵活适配多种场景:无论是发票、合同还是论文,都能高效提取结构化内容
  • 稳定可靠实测有效:整套流程我已在多个项目中验证,响应速度快,准确率高
  • 现在就可以试试:按照本文步骤操作,30分钟内就能搭建出属于你的智能文档处理器

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 ZEEKLOG星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Read more

前端八股文面经大全:腾讯前端AI面试(2026-02-28)·面经深度解析

前端八股文面经大全:腾讯前端AI面试(2026-02-28)·面经深度解析

前言 大家好,我是木斯佳。 在这个春节假期,当大家都在谈论返乡、团圆与休息时,作为一名技术人,我的思考却不由自主地转向了行业的「冬」与「春」。 相信很多人都感受到了,在AI浪潮的席卷之下,前端领域的门槛在变高,纯粹的“增删改查”岗位正在肉眼可见地减少。曾经热闹非凡的面经分享,如今也沉寂了许多。但我们都知道,市场的潮水退去,留下的才是真正在踏实准备、努力沉淀的人。学习的需求,从未消失,只是变得更加务实和深入。 这个专栏的初衷很简单:拒绝过时的、流水线式的PDF引流贴,专注于收集和整理当下最新、最真实的前端面试资料。我会在每一份面经和八股文的基础上,尝试从面试官的角度去拆解问题背后的逻辑,而不仅仅是提供一份静态的背诵答案。无论你是校招还是社招,目标是中大厂还是新兴团队,只要是真实发生、有价值的面试经历,我都会在这个专栏里为你沉淀下来。 温馨提示:市面上的面经鱼龙混杂,甄别真伪、把握时效,是我们对抗内卷最有效的武器。 让我们一起充电,为下一个技术春天做好准备。 面经原文内容 📍面试公司:腾讯 🕐面试时间:

前端高频面试题Vue3、TypeScript

前端高频面试题Vue3、TypeScript

■ 符号说明 💘 课题 🐝 企业级面试题 ⭐️ 重要知识点 🌛 需要有影响 神龙教主 💘 初探、模板与指令 ⭐️ 谈谈你对vue的理解,有哪些重要的版本,vue3新增了哪些新特性 渐进式javascript框架 2013诞生 =》 2016发布2.0 =》 2019发布2.6 =》 2020.9 3.0 海贼王 =》 2021.8 3.2 script setup语法 Vue 3 中需要关注的一些新特性包括 * 组合式 API* vue3发展史:先是和vue2类似的语法选项式API、和原生js类似的语法组合式API 方便封装组合 * 单文件组件中的组合式 API 语法糖 ( setup函数中写 const a = 1 直接script脚本中写 const a= 1 * Teleport 组件

Web基石:Java Servlet 全面指南:从基础原理到 Spring Boot 实战

Web基石:Java Servlet 全面指南:从基础原理到 Spring Boot 实战

这是一份非常详细、实用、通俗易懂、权威且全面的 Java Servlet 指南,涵盖了其方方面面,包括在 Spring Boot 中的应用,并提供了可直接在 IDE 中运行的最佳实践代码和完整案例。 目录 1. Servlet 概述 * 1.1 什么是 Servlet? * 1.2 为什么需要 Servlet? * 1.3 Servlet 与 CGI 的比较 * 1.4 Servlet 在 Web 应用中的位置 2. Servlet API 核心 * 2.1 javax.servlet 包 (jakarta.servlet)

【Java Web学习 | 第四篇】CSS(3) -背景

【Java Web学习 | 第四篇】CSS(3) -背景

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * CSS背景样式全解析🥝 * 4.1 背景颜色 (`background-color`) * 4.2 背景图片 (`background-image`) * 4.3 背景平铺 (`background-repeat`) * 4.4 背景图片位置 (`background-position`) * 4.5 背景图像固定 (`background-attachment`) * 4.6 背景属性复合写法 * 4.7 背景色半透明 (`rgba`) * 综合代码演示 * 学习资源推荐🐦‍🔥 CSS背景样式全解析🥝 在网页设计中,背景样式是塑造页面视觉效果的关键元素之一。通过CSS的背景属性,我们可以为页面添加丰富的视觉效果,包括背景颜色、背景图片、平铺方式、定位以及固定等。