# 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).

import oci
from datetime import datetime

# Create a default config using DEFAULT profile in default location
# Refer to
# https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File
# for more info
config = oci.config.from_file()


# Initialize service client with default config file
ai_document_client = oci.ai_document.AIServiceDocumentClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
analyze_document_response = ai_document_client.analyze_document(
    analyze_document_details=oci.ai_document.models.AnalyzeDocumentDetails(
        features=[
            oci.ai_document.models.DocumentClassificationFeature(
                feature_type="DOCUMENT_CLASSIFICATION",
                max_results=403,
                model_id="ocid1.test.oc1..<unique_ID>EXAMPLE-modelId-Value",
                tenancy_id="ocid1.test.oc1..<unique_ID>EXAMPLE-tenancyId-Value")],
        document=oci.ai_document.models.ObjectStorageDocumentDetails(
            source="OBJECT_STORAGE",
            namespace_name="EXAMPLE-namespaceName-Value",
            bucket_name="EXAMPLE-bucketName-Value",
            object_name="EXAMPLE-objectName-Value",
            page_range=["EXAMPLE--Value"]),
        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
        output_location=oci.ai_document.models.OutputLocation(
            namespace_name="EXAMPLE-namespaceName-Value",
            bucket_name="EXAMPLE-bucketName-Value",
            prefix="EXAMPLE-prefix-Value"),
        language="EXAMPLE-language-Value",
        document_type="CHECK",
        ocr_data=oci.ai_document.models.AnalyzeDocumentResult(
            document_metadata=oci.ai_document.models.DocumentMetadata(
                page_count=320,
                mime_type="EXAMPLE-mimeType-Value"),
            pages=[
                oci.ai_document.models.Page(
                    page_number=670,
                    dimensions=oci.ai_document.models.Dimensions(
                        width=5299.169,
                        height=792.4867,
                        unit="PIXEL"),
                    detected_document_types=[
                        oci.ai_document.models.DetectedDocumentType(
                            document_type="EXAMPLE-documentType-Value",
                            confidence=0.52646816,
                            document_id="ocid1.test.oc1..<unique_ID>EXAMPLE-documentId-Value")],
                    detected_languages=[
                        oci.ai_document.models.DetectedLanguage(
                            language="EXAMPLE-language-Value",
                            confidence=0.7512802)],
                    words=[
                        oci.ai_document.models.Word(
                            text="EXAMPLE-text-Value",
                            confidence=0.09209776,
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.5958512,
                                        y=0.5636895)]))],
                    lines=[
                        oci.ai_document.models.Line(
                            text="EXAMPLE-text-Value",
                            confidence=0.26308787,
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.61615497,
                                        y=0.7541344)]),
                            word_indexes=[560])],
                    tables=[
                        oci.ai_document.models.Table(
                            row_count=294,
                            column_count=680,
                            header_rows=[
                                oci.ai_document.models.TableRow(
                                    cells=[
                                        oci.ai_document.models.Cell(
                                            text="EXAMPLE-text-Value",
                                            row_index=890,
                                            column_index=253,
                                            confidence=0.98582494,
                                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                                normalized_vertices=[
                                                    oci.ai_document.models.NormalizedVertex(
                                                        x=0.4554652,
                                                        y=0.54761136)]),
                                            word_indexes=[512])])],
                            confidence=0.94507504,
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.01684624,
                                        y=0.8739056)]))],
                    document_fields=[
                        oci.ai_document.models.DocumentField(
                            field_type="LINE_ITEM",
                            field_value=oci.ai_document.models.ValueTime(
                                value_type="TIME",
                                confidence=0.88014144,
                                bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                    normalized_vertices=[
                                        oci.ai_document.models.NormalizedVertex(
                                            x=0.7266455,
                                            y=0.86825913)]),
                                word_indexes=[598],
                                value=datetime.strptime(
                                    "2044-09-01T20:48:46.119Z",
                                    "%Y-%m-%dT%H:%M:%S.%fZ"),
                                text="EXAMPLE-text-Value",
                                normalized_value="EXAMPLE-normalizedValue-Value",
                                normalized_confidence=0.36755115),
                            field_label=oci.ai_document.models.FieldLabel(
                                name="EXAMPLE-name-Value",
                                confidence=0.33512008),
                            field_name=oci.ai_document.models.FieldName(
                                name="EXAMPLE-name-Value",
                                confidence=0.3632174,
                                bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                    normalized_vertices=[
                                        oci.ai_document.models.NormalizedVertex(
                                            x=0.2368275,
                                            y=0.6897356)]),
                                word_indexes=[41]))],
                    signatures=[
                        oci.ai_document.models.Signature(
                            confidence=0.21610427,
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.41636652,
                                        y=0.57773685)]))],
                    bar_codes=[
                        oci.ai_document.models.BarCode(
                            confidence=0.45265162,
                            value="EXAMPLE-value-Value",
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.72568834,
                                        y=0.106283486)]),
                            code_type="EXAMPLE-codeType-Value")],
                    selection_marks=[
                        oci.ai_document.models.SelectionMark(
                            state="UNSELECTED",
                            confidence=0.52240884,
                            bounding_polygon=oci.ai_document.models.BoundingPolygon(
                                normalized_vertices=[
                                    oci.ai_document.models.NormalizedVertex(
                                        x=0.41768825,
                                        y=0.009836018)]))])],
            detected_document_types=[
                oci.ai_document.models.DetectedDocumentType(
                    document_type="EXAMPLE-documentType-Value",
                    confidence=0.7658252,
                    document_id="ocid1.test.oc1..<unique_ID>EXAMPLE-documentId-Value")],
            detected_languages=[
                oci.ai_document.models.DetectedLanguage(
                    language="EXAMPLE-language-Value",
                    confidence=0.944796)],
            document_classification_model_version="EXAMPLE-documentClassificationModelVersion-Value",
            language_classification_model_version="EXAMPLE-languageClassificationModelVersion-Value",
            text_extraction_model_version="EXAMPLE-textExtractionModelVersion-Value",
            key_value_extraction_model_version="EXAMPLE-keyValueExtractionModelVersion-Value",
            table_extraction_model_version="EXAMPLE-tableExtractionModelVersion-Value",
            signature_extraction_model_version="EXAMPLE-signatureExtractionModelVersion-Value",
            bar_code_extraction_model_version="EXAMPLE-barCodeExtractionModelVersion-Value",
            errors=[
                oci.ai_document.models.ProcessingError(
                    code="EXAMPLE-code-Value",
                    message="EXAMPLE-message-Value")],
            searchable_pdf="77lGhinbM3l29jIyu6y5")),
    if_match="EXAMPLE-ifMatch-Value",
    opc_request_id="2BTEHB4NPLGVYOMVGWF7<unique_ID>")

# Get the data from response
print(analyze_document_response.data)