使用Azure.AI.DocumentIntelligence创建自定义表单数据提取时,提示AnalyzeDocumentContent不存在
解决Azure.AI.DocumentIntelligence中AnalyzeDocumentContent不存在的问题
检查SDK版本:
AnalyzeDocumentContent类型仅存在于Azure.AI.DocumentIntelligence的早期预览版或旧版SDK中,如果你使用的是v4.1.0及以上的正式版SDK,这个类型已经被移除或替换。建议确认你项目中安装的NuGet包版本,优先使用最新稳定版。使用新版API替代:正式版SDK中,调用自定义表单分析时无需创建
AnalyzeDocumentContent,直接通过AnalyzeDocumentAsync方法传入模型ID、文档流(或URL)即可,示例代码如下:
using Azure.AI.DocumentIntelligence; using Azure.AI.DocumentIntelligence.Models; using Azure; // 初始化客户端 var endpoint = "你的文档智能服务端点"; var apiKey = "你的API密钥"; var client = new DocumentIntelligenceClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); // 读取本地文档流 using var fileStream = File.OpenRead("待分析的表单文件.pdf"); // 调用分析接口,等待结果完成 var operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, "你的自定义模型ID", fileStream); var analysisResult = operation.Value; // 处理提取到的字段数据 foreach (var document in analysisResult.Documents) { foreach (var field in document.Fields) { Console.WriteLine($"字段名: {field.Key}, 值: {field.Value.Content}"); } }
- 如需配置额外参数:如果需要设置字段覆盖、语言等选项,可使用
AnalyzeDocumentOptions类,示例如下:
var options = new AnalyzeDocumentOptions { Language = "zh-Hans", FieldOverrideRules = { new FieldOverrideRule { FieldKey = "客户名称", Override = "默认客户名" } } }; var operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, "你的自定义模型ID", fileStream, options);
- 若必须使用旧类型:如果你因特定需求需要保留
AnalyzeDocumentContent,可以将NuGet包降级到包含该类型的预览版本(如4.0.0-beta.1),但不推荐此做法,因为预览版存在稳定性和兼容性风险。
内容的提问来源于stack exchange,提问作者nathan
相关产品推荐
相关产品推荐

