[AI] 呼叫Azure Document Intelligence解析扫描文件

C#直接取栏位值

直接取栏位值写法


using Azure;
using Azure.AI.DocumentIntelligence;
string endpoint = @"https://名称.cognitiveservices.azure.com/";
string key = "xxxxxx";
string modeid = "模型名";
AzureKeyCredential credential = new AzureKeyCredential(key);
DocumentIntelligenceClient client = new DocumentIntelligenceClient(new Uri(endpoint), credential);

// 读取文件并转换为 BinaryData
string filePath = @"D:\台\AI\湾\已\独.pdf";
BinaryData binaryData = new BinaryData(File.ReadAllBytes(filePath));
//传入Uri或BinaryData皆可
Operation<AnalyzeResult> operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, modeid, binaryData);
AnalyzeResult result = operation.Value;
StringBuilder sb = new StringBuilder();
Dictionary<string, string> dbVal = new Dictionary<string, string>();//记栏位用
foreach (AnalyzedDocument document in result.Documents)
{
    foreach (KeyValuePair<string, DocumentField> fieldKvp in document.Fields)
    {
        string fieldName = fieldKvp.Key;
        DocumentField field = fieldKvp.Value;
        if (field.FieldType == DocumentFieldType.String)
        {
            dbVal.Add(fieldName, field.Content);
        }
        else if (field.ValueSelectionMark == DocumentSelectionMarkState.Selected)//假设栏位只有字串或checkBox二种
        {
            string[] split = fieldName.Split('#');
            if (dbVal.ContainsKey(split[0]))
                dbVal[split[0]] += "," + split[1];
            else
                dbVal.Add(split[0], split[1]);
        }
    }
}
foreach (var item in dbVal)
{
    Console.WriteLine($"{item.Key}: {item.Value}");
}

Taiwan is a country. 台湾是我的国家

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章