An AI 代理不应直接读取表格。它应该调用返回表格的工具,然后对行进行算术运算。使用在 Docker 本地运行的 GroupDocs.Parser.Mcp,Claude Desktop 或 Cursor 等 AI 客户端可以从 PDF、Word 和 Excel 文件中提取表格,并以 JSON 形式接收它们:
提取 invoice.pdf 中的明细行作为 JSON,并计算金额列的总和。
带有配置和故障排除的逐步版本请参阅文档: 如何将文档中的表格提取为结构化数据.
当模型自行读取表格时会出现什么问题?
常见的工作流是将 PDF 粘贴到聊天中并请求表格。模型看到的是一串扁平化的文本,推断出列的位置,然后把行写回去。于是每个单元格都成了预测。列缺失、行合并或小数点错位并不会报错;它会生成一个自信且格式良好的表格,只是稍有错误。对于水果清单这并不重要,但对发票总额则影响巨大。
由于输出看起来正确,这类错误很难被捕捉。聊天回复中没有任何信息能告诉你哪些单元格是从文件中读取的,哪些是重新构造的。
有什么替代方案可以避免让模型猜测?
将读取工作移出模型。extract_tables 工具使用文档引擎检测表格并以数据形式返回:
- 默认使用 Markdown,呈现为
### Table N (page N, R×C)章节,可直接在聊天、VS Code 和 GitHub 中显示。 - 使用
format: "json"时返回 JSON,形式为{ table, page, rows, columns, data }对象数组,其中data是字符串网格。
模型永远不会转录单元格。它接收 data 并基于此工作,因此它的任务缩减为它可靠擅长的操作:求和、比较、过滤和解释。该工具支持 PDF、DOCX、XLSX、PPTX 和 HTML,因此同一个提示即可覆盖供应商发票、Word 报告和电子表格。
如何以 JSON 形式获取表格?
在提示中声明格式。
提取明细行作为 JSON,并计算金额列的总和。
示例会话(摘要)
您: 提取 invoice-014.pdf 中的明细行作为 JSON 并计算金额列的总和。
代理: [calls extract_tables with format "json"]
{"table": 1, "page": 1, "rows": 4, "columns": 3,
"data": [["Item", "Qty", "Amount"],
["Paper A4", "10", "48.00"],
["Toner", "2", "170.00"],
["Delivery", "1", "22.00"]]}
金额列的总计:240.00, 共 3 条明细。
因为代理持有行数据,后续步骤就变成普通问题:哪一行最大,总计是否与文本中打印的数字匹配,将行写入输出文件夹中的 CSV。当算术结果重要时,要求代理列出它求和的行,以便你核对。
何时应请求 Markdown 而非 JSON?
当后续由人阅读结果时使用 Markdown;当代码处理时使用 JSON。Markdown 是默认格式,也是最快查看表格并判断是否正确提取的方式。对总计、交叉检查以及任何需要写入电子表格或数据库的场景切换到 JSON。如果你知道表格所在的页码,可以缩小调用范围:
提取第 4 页的表格。
page 参数将检测限制在单页,速度更快,在计量授权模式下也更省钱。
哪些情况仍需人工检查?
诚实的限制在表格处理上比纯文本更为重要。
- 扫描件没有可供查找的表格。 没有文本层就没有表格结构,提取结果为空。此服务器不提供 OCR。
- 复杂布局多变。 合并单元格、嵌套表格以及跨页的表格并不总能像简单网格那样完整保留。先抽查一个文档,再批量处理两百个。
- 评估模式受限。 未购买许可证时,提取功能受限;具体限制请参见库的 licensing page。在正式运行前让代理调用
get_license_status。
一键安装
该服务器仅以 Docker 镜像形式分发,因此没有 dnx 命令。按如下方式在 Claude Code 中注册,记得将路径替换为你的文档文件夹:
claude mcp add groupdocs-parser -- docker run --rm -i \
-v /path/to/documents:/data ghcr.io/groupdocs-parser/parser-net-mcp:latest
Cursor、Claude Desktop、带 GitHub Copilot 的 VS Code、Windsurf、Cline 和 Codex 使用相同的容器,只是配置文件针对不同客户端;每种客户端的注册方式请参见 在 AI 客户端中注册。
常见问题
Claude 能准确读取 PDF 表格吗?
这取决于文件本身以及客户端如何将其扁平化,所以请实际检查而不是假设。使用 extract_tables 时,行数据来源于文档引擎的表格检测,返回为字符串网格,Claude 直接基于这些数据工作。
如何使用 AI 将 PDF 表格提取到 Excel?
先请求表格的 JSON,然后让代理将行写入输出文件夹中的 CSV,Excel 可以直接打开该 CSV。行到 CSV 的转换是代理的步骤,单元格的值来自工具。
它能在本地从 Word 和 Excel 文件中提取表格吗?
可以。extract_tables 同时支持 DOCX、XLSX 和 PDF,容器会读取你挂载的文件夹中的文件。
深入了解
- 文档,权威指南: 如何将文档中的表格提取为结构化数据
- 文档中心: GroupDocs.Parser MCP Server
- 工具参考:
extract_tables工具参考 - 从这里开始: 使用 AI 代理和 MCP 提取文档数据的 3 种方式(文本、表格、图像)
- 相关: 使用 MCP 的自动提取工作流实现一致的数据捕获
- 相关: 使用 AI 代理实现扫描转记录自动化
- 本地部署与安全模型: AI 文档处理的 3 种架构,以及将文件保留在内部网络的方案
- 提问: GroupDocs Parser 论坛
- 源码: GroupDocs.Parser.Mcp 在 GitHub 上