// 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.DocumentTextExtractionFeature
{
GenerateSearchablePdf = false,
ModelId = "ocid1.test.oc1..<unique_ID>EXAMPLE-modelId-Value",
SelectionMarkDetection = false
}
},
Document = new Oci.AidocumentService.Models.ObjectStorageDocumentDetails
{
NamespaceName = "EXAMPLE-namespaceName-Value",
BucketName = "EXAMPLE-bucketName-Value",
ObjectName = "EXAMPLE-objectName-Value",
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.DriverLicense,
OcrData = new Oci.AidocumentService.Models.AnalyzeDocumentResult
{
DocumentMetadata = new Oci.AidocumentService.Models.DocumentMetadata
{
PageCount = 311,
MimeType = "EXAMPLE-mimeType-Value"
},
Pages = new List<Oci.AidocumentService.Models.Page>
{
new Oci.AidocumentService.Models.Page
{
PageNumber = 125,
Dimensions = new Oci.AidocumentService.Models.Dimensions
{
Width = 1460.0623,
Height = 5707.2456,
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.9973894
}
},
DetectedLanguages = new List<Oci.AidocumentService.Models.DetectedLanguage>
{
new Oci.AidocumentService.Models.DetectedLanguage
{
Language = "EXAMPLE-language-Value",
Confidence = (float)0.50961673
}
},
Words = new List<Oci.AidocumentService.Models.Word>
{
new Oci.AidocumentService.Models.Word
{
Text = "EXAMPLE-text-Value",
Confidence = (float)0.80474406,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.339808,
Y = 0.045131147
}
}
}
}
},
Lines = new List<Oci.AidocumentService.Models.Line>
{
new Oci.AidocumentService.Models.Line
{
Text = "EXAMPLE-text-Value",
Confidence = (float)0.4193164,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.65229875,
Y = 0.15539128
}
}
},
WordIndexes = new List<Int32>
{
417
}
}
},
Tables = new List<Oci.AidocumentService.Models.Table>
{
new Oci.AidocumentService.Models.Table
{
RowCount = 817,
ColumnCount = 931,
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 = 545,
ColumnIndex = 740,
Confidence = (float)0.9804424,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.18925643,
Y = 0.7567968
}
}
},
WordIndexes = new List<Int32>
{
390
}
}
}
}
},
Confidence = (float)0.2521472,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.26323795,
Y = 0.69503534
}
}
}
}
},
DocumentFields = new List<Oci.AidocumentService.Models.DocumentField>
{
new Oci.AidocumentService.Models.DocumentField
{
FieldType = Oci.AidocumentService.Models.DocumentField.FieldTypeEnum.LineItemField,
FieldLabel = new Oci.AidocumentService.Models.FieldLabel
{
Name = "EXAMPLE-name-Value",
Confidence = (float)0.08899367
},
FieldName = new Oci.AidocumentService.Models.FieldName
{
Name = "EXAMPLE-name-Value",
Confidence = (float)0.67663234,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.5289005,
Y = 0.7253601
}
}
},
WordIndexes = new List<Int32>
{
696
}
},
FieldValue = new Oci.AidocumentService.Models.ValuePhoneNumber
{
Value = "EXAMPLE-value-Value",
Text = "EXAMPLE-text-Value",
Confidence = (float)0.82883954,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.886185,
Y = 0.21056718
}
}
},
WordIndexes = new List<Int32>
{
397
},
NormalizedValue = "EXAMPLE-normalizedValue-Value",
NormalizedConfidence = (float)0.27124602
}
}
},
Signatures = new List<Oci.AidocumentService.Models.Signature>
{
new Oci.AidocumentService.Models.Signature
{
Confidence = (float)0.74919754,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.60623986,
Y = 0.81502527
}
}
}
}
},
BarCodes = new List<Oci.AidocumentService.Models.BarCode>
{
new Oci.AidocumentService.Models.BarCode
{
Confidence = (float)0.17849636,
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.83037513,
Y = 0.9311609
}
}
}
}
},
SelectionMarks = new List<Oci.AidocumentService.Models.SelectionMark>
{
new Oci.AidocumentService.Models.SelectionMark
{
State = Oci.AidocumentService.Models.SelectionMark.StateEnum.Unselected,
Confidence = (float)0.44432253,
BoundingPolygon = new Oci.AidocumentService.Models.BoundingPolygon
{
NormalizedVertices = new List<Oci.AidocumentService.Models.NormalizedVertex>
{
new Oci.AidocumentService.Models.NormalizedVertex
{
X = 0.99906224,
Y = 0.12940931
}
}
}
}
}
}
},
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.6239295
}
},
DetectedLanguages = new List<Oci.AidocumentService.Models.DetectedLanguage>
{
new Oci.AidocumentService.Models.DetectedLanguage
{
Language = "EXAMPLE-language-Value",
Confidence = (float)0.31811917
}
},
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 = "BNJ1GBG1IXHDZMNREAKW<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;
}
}
}
}