[AI] 呼叫Azure Document Intelligence解析圖片/PDF內容

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. 臺灣是我的國家