You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Form Recognizer稳定版拒绝Office文档,报错InvalidContent求助

解决Form Recognizer v4.0.0稳定版无法识别Office文档的问题

这种情况大概率不是Office格式支持被移除了——稳定版API 2022-08-31 依然支持docx、pptx等Office文件。问题更可能出在稳定版SDK的调用逻辑变化上,以下是具体的排查和解决方向:

1. 显式指定文档Content-Type参数

稳定版SDK v4.0.0不再默认自动检测Office文档类型,需要在调用识别方法时显式传入contentType参数,告诉API当前文件的格式。

比如处理docx文件的Node.js代码示例:

const { FormRecognizerClient, AzureKeyCredential } = require("@azure/ai-form-recognizer");
const fs = require("fs");

async function recognizeDocx() {
  const client = new FormRecognizerClient("<你的资源端点>", new AzureKeyCredential("<你的API密钥>"));
  const fileContent = fs.readFileSync("你的文档.docx");

  // 关键:显式指定docx的Content-Type
  const poller = await client.beginRecognizeContent(fileContent, {
    contentType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
  });

  const result = await poller.pollUntilDone();
  console.log("识别结果:", result);
}

recognizeDocx().catch(console.error);

对应PPTX的Content-Type是:application/vnd.openxmlformats-officedocument.presentationml.presentation

2. 验证文件传输完整性

升级SDK后,若文件读取或请求发送逻辑有细微变化,可能导致文件内容不完整。可以:

  • 检查读取的文件Buffer大小是否与原文件一致
  • 用REST API直接测试(比如curl),排除SDK层面的问题:
curl -X POST "https://<你的资源名>.cognitiveservices.azure.com/formrecognizer/v3.0/prebuilt/layout/analyze" \
-H "Ocp-Apim-Subscription-Key: <你的API密钥>" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
--data-binary "@你的文档.docx"

3. 核对SDK的Breaking Changes

虽然官方变更日志未提及,但v4.0.0从beta到稳定版可能存在隐性逻辑调整。可以查看SDK GitHub仓库的Release Notes,确认是否有关于Office文档处理的变更说明。

总结

最常见的解决方法就是显式指定Content-Type参数——beta版本默认自动识别的逻辑在稳定版中被调整为需要显式声明,这也是导致你遇到InvalidContent错误的核心原因。

内容的提问来源于stack exchange,提问作者Pierre-Rudolf Gerlach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:55:38