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. 台湾是我的国家