// This is an automatically generated code sample.
// To make this code sample work in your Oracle Cloud tenancy,
// please replace the values for any parameters whose current values do not fit
// your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
// boolean, number, and enum parameters with values not fitting your use case).
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Oci.AidocumentService;
using Oci.Common;
using Oci.Common.Auth;
namespace Oci.Sdk.DotNet.Example.Aidocument
{
public class AnalyzeDocumentExample
{
public static async Task Main()
{
// Create a request and dependent object(s).
var analyzeDocumentDetails = new Oci.AidocumentService.Models.AnalyzeDocumentDetails
{
Features = new List<Oci.AidocumentService.Models.DocumentFeature>
{
new Oci.AidocumentService.Models.DocumentClassificationFeature
{
MaxResults = 426,
ModelId = "ocid1.test.oc1..<unique_ID>EXAMPLE-modelId-Value",
TenancyId = "ocid1.test.oc1..<unique_ID>EXAMPLE-tenancyId-Value"
}
},
Document = new Oci.AidocumentService.Models.InlineDocumentDetails
{
// Create a byte array. This can be created in several different ways depending on your use case.
// For example, use <see href="https://docs.microsoft.com/en-us/dotnet/api/system.io.file.readallbytes?view=netcore-3.1">File.ReadAllBytes(String)</see>,
// or use <see href="https://docs.microsoft.com/en-us/dotnet/api/system.text.encoder?view=netcore-3.1">Encoder class</see>.
Data = System.Text.Encoding.UTF8.GetBytes("some data"),
PageRange = new List<string>
{
"EXAMPLE--Value"
}
},
CompartmentId = "ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
OutputLocation = new Oci.AidocumentService.Models.OutputLocation
{
NamespaceName = "EXAMPLE-namespaceName-Value",
BucketName = "EXAMPLE-bucketName-Value",
Prefix = "EXAMPLE-prefix-Value"
},
Language = "EXAMPLE-language-Value",
DocumentType = Oci.AidocumentService.Models.DocumentType.HealthInsuranceId,
OcrData = new Oci.AidocumentService.Models.AnalyzeDocumentResult
{
DocumentMetadata = new Oci.AidocumentService.Models.DocumentMetadata
{
PageCount = 116,
MimeType = "EXAMPLE-mimeType-Value"
},
Pages = new List<Oci.AidocumentService.Models.Page>
{
new Oci.AidocumentService.Models.Page
{
PageNumber = 395,
Dimensions = new Oci.AidocumentService.Models.Dimensions
{
Width = 3372.4148,
Height = 4208.455,
Unit = Oci.AidocumentService.Models.Dimensions.UnitEnum.Pixel
},
DetectedDocumentTypes = new List<Oci.AidocumentService.Models.DetectedDocumentType>
{
new Oci.AidocumentService.Models.DetectedDocumentType
{
DocumentType = "EXAMPLE-documentType-Value",
DocumentId = "ocid1.test.oc1..<unique_ID>EXAMPLE-documentId-Value",
Confidence = (float)0.09923679
}
},
DetectedLanguages = new List<Oci.AidocumentService.Models.DetectedLanguage>
{
new Oci.AidocumentService.Models.DetectedLanguage
{
Language = "EXAMPLE-language-Value",
Confidence = (float)0.55912024
}
},
Words = new List<Oci.AidocumentService.Models.Word>
{
new Oci.AidocumentService.Models.Word
{
Text = "EXAMPLE-text-Value",
Confidence = (float)0.75548834,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.8991313,
Y = 0.86754537
}
}
}
}
},
Lines = new List<Oci.AidocumentService.Models.Line>
{
new Oci.AidocumentService.Models.Line
{
Text = "EXAMPLE-text-Value",
Confidence = (float)0.56492835,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.56052774,
Y = 0.31355226
}
}
},
WordIndexes = new List<Int32>
{
423
}
}
},
Tables = new List<Oci.AidocumentService.Models.Table>
{
new Oci.AidocumentService.Models.Table
{
RowCount = 394,
ColumnCount = 251,
HeaderRows = new List<Oci.AidocumentService.Models.TableRow>
{
new Oci.AidocumentService.Models.TableRow
{
Cells = new List<Oci.AidocumentService.Models.Cell>
{
new Oci.AidocumentService.Models.Cell
{
Text = "EXAMPLE-text-Value",
RowIndex = 351,
ColumnIndex = 91,
Confidence = (float)0.54970044,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.5396766,
Y = 0.64515597
}
}
},
WordIndexes = new List<Int32>
{
69
}
}
}
}
},
Confidence = (float)0.8270148,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.3439402,
Y = 0.908295
}
}
}
}
},
DocumentFields = new List<Oci.AidocumentService.Models.DocumentField>
{
new Oci.AidocumentService.Models.DocumentField
{
FieldType = Oci.AidocumentService.Models.DocumentField.FieldTypeEnum.KeyValue,
FieldLabel = new Oci.AidocumentService.Models.FieldLabel
{
Name = "EXAMPLE-name-Value",
Confidence = (float)0.6542621
},
FieldName = new Oci.AidocumentService.Models.FieldName
{
Name = "EXAMPLE-name-Value",
Confidence = (float)0.38327098,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.7590062,
Y = 0.6653397
}
}
},
WordIndexes = new List<Int32>
{
986
}
},
FieldValue = new Oci.AidocumentService.Models.ValueArray
{
Text = "EXAMPLE-text-Value",
Confidence = (float)0.9283424,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.2054547,
Y = 0.41571563
}
}
},
WordIndexes = new List<Int32>
{
851
},
NormalizedValue = "EXAMPLE-normalizedValue-Value",
NormalizedConfidence = (float)0.98519313
}
}
},
Signatures = new List<Oci.AidocumentService.Models.Signature>
{
new Oci.AidocumentService.Models.Signature
{
Confidence = (float)0.11153966,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.62030137,
Y = 0.9992795
}
}
}
}
},
BarCodes = new List<Oci.AidocumentService.Models.BarCode>
{
new Oci.AidocumentService.Models.BarCode
{
Confidence = (float)0.34008038,
Value = "EXAMPLE-value-Value",
CodeType = "EXAMPLE-codeType-Value",
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.95302856,
Y = 0.48324317
}
}
}
}
},
SelectionMarks = new List<Oci.AidocumentService.Models.SelectionMark>
{
new Oci.AidocumentService.Models.SelectionMark
{
State = Oci.AidocumentService.Models.SelectionMark.StateEnum.Unselected,
Confidence = (float)0.49568552,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.09333581,
Y = 0.5962494
}
}
}
}
}
}
},
DetectedDocumentTypes = new List<Oci.AidocumentService.Models.DetectedDocumentType>
{
new Oci.AidocumentService.Models.DetectedDocumentType
{
DocumentType = "EXAMPLE-documentType-Value",
DocumentId = "ocid1.test.oc1..<unique_ID>EXAMPLE-documentId-Value",
Confidence = (float)0.79334724
}
},
DetectedLanguages = new List<Oci.AidocumentService.Models.DetectedLanguage>
{
new Oci.AidocumentService.Models.DetectedLanguage
{
Language = "EXAMPLE-language-Value",
Confidence = (float)0.5082045
}
},
DocumentClassificationModelVersion = "EXAMPLE-documentClassificationModelVersion-Value",
LanguageClassificationModelVersion = "EXAMPLE-languageClassificationModelVersion-Value",
TextExtractionModelVersion = "EXAMPLE-textExtractionModelVersion-Value",
KeyValueExtractionModelVersion = "EXAMPLE-keyValueExtractionModelVersion-Value",
TableExtractionModelVersion = "EXAMPLE-tableExtractionModelVersion-Value",
SignatureExtractionModelVersion = "EXAMPLE-signatureExtractionModelVersion-Value",
BarCodeExtractionModelVersion = "EXAMPLE-barCodeExtractionModelVersion-Value",
Errors = new List<Oci.AidocumentService.Models.ProcessingError>
{
new Oci.AidocumentService.Models.ProcessingError
{
Code = "EXAMPLE-code-Value",
Message = "EXAMPLE-message-Value"
}
},
// Create a byte array. This can be created in several different ways depending on your use case.
// For example, use <see href="https://docs.microsoft.com/en-us/dotnet/api/system.io.file.readallbytes?view=netcore-3.1">File.ReadAllBytes(String)</see>,
// or use <see href="https://docs.microsoft.com/en-us/dotnet/api/system.text.encoder?view=netcore-3.1">Encoder class</see>.
SearchablePdf = System.Text.Encoding.UTF8.GetBytes("some data")
}
};
var analyzeDocumentRequest = new Oci.AidocumentService.Requests.AnalyzeDocumentRequest
{
AnalyzeDocumentDetails = analyzeDocumentDetails,
IfMatch = "EXAMPLE-ifMatch-Value",
OpcRequestId = "Q7ZHEAWQX75QOVMFEFNG<unique_ID>"
};
// Create a default authentication provider that uses the DEFAULT
// profile in the configuration file.
// Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");
try
{
// Create a service client and send the request.
using (var client = new AIServiceDocumentClient(provider, new ClientConfiguration()))
{
var response = await client.AnalyzeDocument(analyzeDocumentRequest);
// Retrieve value from the response.
var documentMetadataValue = response.AnalyzeDocumentResult.DocumentMetadata;
}
}
catch (Exception e)
{
Console.WriteLine($"AnalyzeDocument Failed with {e.Message}");
throw e;
}
}
}
}