docs: update generated docs (#981)
diff --git a/docs/dyn/documentai_v1beta2.projects.documents.html b/docs/dyn/documentai_v1beta2.projects.documents.html
new file mode 100644
index 0000000..bcca3bb
--- /dev/null
+++ b/docs/dyn/documentai_v1beta2.projects.documents.html
@@ -0,0 +1,1397 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+
+body {
+ font-size: 13px;
+ padding: 1em;
+}
+
+h1 {
+ font-size: 26px;
+ margin-bottom: 1em;
+}
+
+h2 {
+ font-size: 24px;
+ margin-bottom: 1em;
+}
+
+h3 {
+ font-size: 20px;
+ margin-bottom: 1em;
+ margin-top: 1em;
+}
+
+pre, code {
+ line-height: 1.5;
+ font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+ margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+ font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+ border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+ margin-top: 0.5em;
+}
+
+.firstline {
+ margin-left: 2 em;
+}
+
+.method {
+ margin-top: 1em;
+ border: solid 1px #CCC;
+ padding: 1em;
+ background: #EEE;
+}
+
+.details {
+ font-weight: bold;
+ font-size: 14px;
+}
+
+</style>
+
+<h1><a href="documentai_v1beta2.html">Cloud Document AI API</a> . <a href="documentai_v1beta2.projects.html">projects</a> . <a href="documentai_v1beta2.projects.documents.html">documents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+ <code><a href="#batchProcess">batchProcess(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">LRO endpoint to batch process many documents. The output is written</p>
+<p class="toc_element">
+ <code><a href="#process">process(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Processes a single document.</p>
+<h3>Method Details</h3>
+<div class="method">
+ <code class="details" id="batchProcess">batchProcess(parent, body=None, x__xgafv=None)</code>
+ <pre>LRO endpoint to batch process many documents. The output is written
+to Cloud Storage as JSON in the [Document] format.
+
+Args:
+ parent: string, Target project and location to make a call.
+
+Format: `projects/{project-id}/locations/{location-id}`.
+
+If no location is specified, a region will be chosen automatically. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request to batch process documents as an asynchronous operation. The output
+ # is written to Cloud Storage as JSON in the [Document] format.
+ "requests": [ # Required. Individual requests for each document.
+ { # Request to process one document.
+ "ocrParams": { # Parameters to control Optical Character Recognition (OCR) behavior. # Controls OCR behavior. If not specified, the system will decide reasonable
+ # defaults.
+ "languageHints": [ # List of languages to use for OCR. In most cases, an empty value
+ # yields the best results since it enables automatic language detection. For
+ # languages based on the Latin alphabet, setting `language_hints` is not
+ # needed. In rare cases, when the language of the text in the image is known,
+ # setting a hint will help get better results (although it will be a
+ # significant hindrance if the hint is wrong). Document processing returns an
+ # error if one or more of the specified languages is not one of the
+ # supported languages.
+ "A String",
+ ],
+ },
+ "tableExtractionParams": { # Parameters to control table extraction behavior. # Controls table extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "tableBoundHints": [ # Optional. Table bounding box hints that can be provided to complex cases
+ # which our algorithm cannot locate the table(s) in.
+ { # A hint for a table bounding box on the page for table parsing.
+ "pageNumber": 42, # Optional. Page number for multi-paged inputs this hint applies to. If not
+ # provided, this hint will apply to all pages by default. This value is
+ # 1-based.
+ "boundingBox": { # A bounding polygon for the detected image annotation. # Bounding box hint for a table on this page. The coordinates must be
+ # normalized to [0,1] and the bounding box must be an axis-aligned rectangle.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ },
+ ],
+ "headerHints": [ # Optional. Reserved for future use.
+ "A String",
+ ],
+ "modelVersion": "A String", # Model version of the table extraction system. Default is "builtin/stable".
+ # Specify "builtin/latest" for the latest model.
+ "enabled": True or False, # Whether to enable table extraction.
+ },
+ "automlParams": { # Parameters to control AutoML model prediction behavior. # Controls AutoML model prediction behavior. AutoMlParams cannot be used
+ # together with other Params.
+ "model": "A String", # Resource name of the AutoML model.
+ #
+ # Format: `projects/{project-id}/locations/{location-id}/models/{model-id}`.
+ },
+ "inputConfig": { # The desired input location and metadata. # Required. Information about the input file.
+ "gcsSource": { # The Google Cloud Storage location where the input file will be read from. # The Google Cloud Storage location to read the input from. This must be a
+ # single file.
+ "uri": "A String",
+ },
+ "contents": "A String", # Content in bytes, represented as a stream of bytes.
+ # Note: As with all `bytes` fields, proto buffer messages use a pure binary
+ # representation, whereas JSON representations use base64.
+ #
+ # This field only works for synchronous ProcessDocument method.
+ "mimeType": "A String", # Required. Mimetype of the input. Current supported mimetypes are application/pdf,
+ # image/tiff, and image/gif.
+ # In addition, application/json type is supported for requests with
+ # ProcessDocumentRequest.automl_params field set. The JSON file needs to
+ # be in Document format.
+ },
+ "formExtractionParams": { # Parameters to control form extraction behavior. # Controls form extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "modelVersion": "A String", # Model version of the form extraction system. Default is
+ # "builtin/stable". Specify "builtin/latest" for the latest model.
+ # For custom form models, specify: “custom/{model_name}". Model name
+ # format is "bucket_name/path/to/modeldir" corresponding to
+ # "gs://bucket_name/path/to/modeldir" where annotated examples are stored.
+ "enabled": True or False, # Whether to enable form extraction.
+ "keyValuePairHints": [ # Reserved for future use.
+ { # Reserved for future use.
+ "valueTypes": [ # Type of the value. This is case-insensitive, and could be one of:
+ # ADDRESS, LOCATION, ORGANIZATION, PERSON, PHONE_NUMBER,
+ # ID, NUMBER, EMAIL, PRICE, TERMS, DATE, NAME. Types not in this list will
+ # be ignored.
+ "A String",
+ ],
+ "key": "A String", # The key text for the hint.
+ },
+ ],
+ },
+ "documentType": "A String", # Specifies a known document type for deeper structure detection. Valid
+ # values are currently "general" and "invoice". If not provided, "general"\
+ # is used as default. If any other value is given, the request is rejected.
+ "parent": "A String", # Target project and location to make a call.
+ #
+ # Format: `projects/{project-id}/locations/{location-id}`.
+ #
+ # If no location is specified, a region will be chosen automatically.
+ # This field is only populated when used in ProcessDocument method.
+ "outputConfig": { # The desired output location and metadata. # The desired output location. This field is only needed in
+ # BatchProcessDocumentsRequest.
+ "pagesPerShard": 42, # The max number of pages to include into each output Document shard JSON on
+ # Google Cloud Storage.
+ #
+ # The valid range is [1, 100]. If not specified, the default value is 20.
+ #
+ # For example, for one pdf file with 100 pages, 100 parsed pages will be
+ # produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each
+ # containing 20 parsed pages will be written under the prefix
+ # OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where
+ # x and y are 1-indexed page numbers.
+ #
+ # Example GCS outputs with 157 pages and pages_per_shard = 50:
+ #
+ # <prefix>pages-001-to-050.json
+ # <prefix>pages-051-to-100.json
+ # <prefix>pages-101-to-150.json
+ # <prefix>pages-151-to-157.json
+ "gcsDestination": { # The Google Cloud Storage location where the output file will be written to. # The Google Cloud Storage location to write the output to.
+ "uri": "A String",
+ },
+ },
+ "entityExtractionParams": { # Parameters to control entity extraction behavior. # Controls entity extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "enabled": True or False, # Whether to enable entity extraction.
+ "modelVersion": "A String", # Model version of the entity extraction. Default is
+ # "builtin/stable". Specify "builtin/latest" for the latest model.
+ },
+ },
+ ],
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a
+ # network API call.
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
+ "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ },
+ "response": { # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "done": True or False, # If the value is `false`, it means the operation is still in progress.
+ # If `true`, the operation is completed, and either `error` or `response` is
+ # available.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="process">process(parent, body=None, x__xgafv=None)</code>
+ <pre>Processes a single document.
+
+Args:
+ parent: string, Target project and location to make a call.
+
+Format: `projects/{project-id}/locations/{location-id}`.
+
+If no location is specified, a region will be chosen automatically.
+This field is only populated when used in ProcessDocument method. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request to process one document.
+ "ocrParams": { # Parameters to control Optical Character Recognition (OCR) behavior. # Controls OCR behavior. If not specified, the system will decide reasonable
+ # defaults.
+ "languageHints": [ # List of languages to use for OCR. In most cases, an empty value
+ # yields the best results since it enables automatic language detection. For
+ # languages based on the Latin alphabet, setting `language_hints` is not
+ # needed. In rare cases, when the language of the text in the image is known,
+ # setting a hint will help get better results (although it will be a
+ # significant hindrance if the hint is wrong). Document processing returns an
+ # error if one or more of the specified languages is not one of the
+ # supported languages.
+ "A String",
+ ],
+ },
+ "tableExtractionParams": { # Parameters to control table extraction behavior. # Controls table extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "tableBoundHints": [ # Optional. Table bounding box hints that can be provided to complex cases
+ # which our algorithm cannot locate the table(s) in.
+ { # A hint for a table bounding box on the page for table parsing.
+ "pageNumber": 42, # Optional. Page number for multi-paged inputs this hint applies to. If not
+ # provided, this hint will apply to all pages by default. This value is
+ # 1-based.
+ "boundingBox": { # A bounding polygon for the detected image annotation. # Bounding box hint for a table on this page. The coordinates must be
+ # normalized to [0,1] and the bounding box must be an axis-aligned rectangle.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ },
+ ],
+ "headerHints": [ # Optional. Reserved for future use.
+ "A String",
+ ],
+ "modelVersion": "A String", # Model version of the table extraction system. Default is "builtin/stable".
+ # Specify "builtin/latest" for the latest model.
+ "enabled": True or False, # Whether to enable table extraction.
+ },
+ "automlParams": { # Parameters to control AutoML model prediction behavior. # Controls AutoML model prediction behavior. AutoMlParams cannot be used
+ # together with other Params.
+ "model": "A String", # Resource name of the AutoML model.
+ #
+ # Format: `projects/{project-id}/locations/{location-id}/models/{model-id}`.
+ },
+ "inputConfig": { # The desired input location and metadata. # Required. Information about the input file.
+ "gcsSource": { # The Google Cloud Storage location where the input file will be read from. # The Google Cloud Storage location to read the input from. This must be a
+ # single file.
+ "uri": "A String",
+ },
+ "contents": "A String", # Content in bytes, represented as a stream of bytes.
+ # Note: As with all `bytes` fields, proto buffer messages use a pure binary
+ # representation, whereas JSON representations use base64.
+ #
+ # This field only works for synchronous ProcessDocument method.
+ "mimeType": "A String", # Required. Mimetype of the input. Current supported mimetypes are application/pdf,
+ # image/tiff, and image/gif.
+ # In addition, application/json type is supported for requests with
+ # ProcessDocumentRequest.automl_params field set. The JSON file needs to
+ # be in Document format.
+ },
+ "formExtractionParams": { # Parameters to control form extraction behavior. # Controls form extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "modelVersion": "A String", # Model version of the form extraction system. Default is
+ # "builtin/stable". Specify "builtin/latest" for the latest model.
+ # For custom form models, specify: “custom/{model_name}". Model name
+ # format is "bucket_name/path/to/modeldir" corresponding to
+ # "gs://bucket_name/path/to/modeldir" where annotated examples are stored.
+ "enabled": True or False, # Whether to enable form extraction.
+ "keyValuePairHints": [ # Reserved for future use.
+ { # Reserved for future use.
+ "valueTypes": [ # Type of the value. This is case-insensitive, and could be one of:
+ # ADDRESS, LOCATION, ORGANIZATION, PERSON, PHONE_NUMBER,
+ # ID, NUMBER, EMAIL, PRICE, TERMS, DATE, NAME. Types not in this list will
+ # be ignored.
+ "A String",
+ ],
+ "key": "A String", # The key text for the hint.
+ },
+ ],
+ },
+ "documentType": "A String", # Specifies a known document type for deeper structure detection. Valid
+ # values are currently "general" and "invoice". If not provided, "general"\
+ # is used as default. If any other value is given, the request is rejected.
+ "parent": "A String", # Target project and location to make a call.
+ #
+ # Format: `projects/{project-id}/locations/{location-id}`.
+ #
+ # If no location is specified, a region will be chosen automatically.
+ # This field is only populated when used in ProcessDocument method.
+ "outputConfig": { # The desired output location and metadata. # The desired output location. This field is only needed in
+ # BatchProcessDocumentsRequest.
+ "pagesPerShard": 42, # The max number of pages to include into each output Document shard JSON on
+ # Google Cloud Storage.
+ #
+ # The valid range is [1, 100]. If not specified, the default value is 20.
+ #
+ # For example, for one pdf file with 100 pages, 100 parsed pages will be
+ # produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each
+ # containing 20 parsed pages will be written under the prefix
+ # OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where
+ # x and y are 1-indexed page numbers.
+ #
+ # Example GCS outputs with 157 pages and pages_per_shard = 50:
+ #
+ # <prefix>pages-001-to-050.json
+ # <prefix>pages-051-to-100.json
+ # <prefix>pages-101-to-150.json
+ # <prefix>pages-151-to-157.json
+ "gcsDestination": { # The Google Cloud Storage location where the output file will be written to. # The Google Cloud Storage location to write the output to.
+ "uri": "A String",
+ },
+ },
+ "entityExtractionParams": { # Parameters to control entity extraction behavior. # Controls entity extraction behavior. If not specified, the system will
+ # decide reasonable defaults.
+ "enabled": True or False, # Whether to enable entity extraction.
+ "modelVersion": "A String", # Model version of the entity extraction. Default is
+ # "builtin/stable". Specify "builtin/latest" for the latest model.
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Document represents the canonical document resource in Document Understanding
+ # AI.
+ # It is an interchange format that provides insights into documents and allows
+ # for collaboration between users and Document Understanding AI to iterate and
+ # optimize for quality.
+ "content": "A String", # Inline document content, represented as a stream of bytes.
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
+ # representation, whereas JSON representations use base64.
+ "labels": [ # Labels for this document.
+ { # Label attaches schema information and/or other metadata to segments within
+ # a Document. Multiple Labels on a single field can denote either
+ # different labels, different instances of the same label created at
+ # different times, or some combination of both.
+ "automlModel": "A String", # Label is generated AutoML model. This field stores the full resource
+ # name of the AutoML model.
+ #
+ # Format:
+ # `projects/{project-id}/locations/{location-id}/models/{model-id}`
+ "confidence": 3.14, # Confidence score between 0 and 1 for label assignment.
+ "name": "A String", # Name of the label.
+ #
+ # When the label is generated from AutoML Text Classification model, this
+ # field represents the name of the category.
+ },
+ ],
+ "uri": "A String", # Currently supports Google Cloud Storage URI of the form
+ # `gs://bucket_name/object_name`. Object versioning is not supported.
+ # See [Google Cloud Storage Request
+ # URIs](https://cloud.google.com/storage/docs/reference-uris) for more
+ # info.
+ "error": { # The `Status` type defines a logical error model that is suitable for # Any error that occurred while processing this document.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ },
+ "pages": [ # Visual page layout for the Document.
+ { # A page in a Document.
+ "dimension": { # Dimension for the page. # Physical dimension of the page.
+ "width": 3.14, # Page width.
+ "height": 3.14, # Page height.
+ "unit": "A String", # Dimension unit.
+ },
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "tables": [ # A list of visually detected tables on the page.
+ { # A table representation similar to HTML table structure.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for Table.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "bodyRows": [ # Body rows of the table.
+ { # A row of table cells.
+ "cells": [ # Cells that make up this row.
+ { # A cell representation inside the table.
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "rowSpan": 42, # How many rows this cell spans.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for TableCell.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "colSpan": 42, # How many columns this cell spans.
+ },
+ ],
+ },
+ ],
+ "headerRows": [ # Header rows of the table.
+ { # A row of table cells.
+ "cells": [ # Cells that make up this row.
+ { # A cell representation inside the table.
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "rowSpan": 42, # How many rows this cell spans.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for TableCell.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "colSpan": 42, # How many columns this cell spans.
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ "layout": { # Visual element describing a layout unit on a page. # Layout for the page.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "lines": [ # A list of visually detected text lines on the page.
+ # A collection of tokens that a human would perceive as a line.
+ { # A collection of tokens that a human would perceive as a line.
+ # Does not cross column boundaries, can be horizontal, vertical, etc.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for Line.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ },
+ ],
+ "paragraphs": [ # A list of visually detected text paragraphs on the page.
+ # A collection of lines that a human would perceive as a paragraph.
+ { # A collection of lines that a human would perceive as a paragraph.
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "layout": { # Visual element describing a layout unit on a page. # Layout for Paragraph.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ },
+ ],
+ "formFields": [ # A list of visually detected form fields on the page.
+ { # A form field detected on the page.
+ "valueType": "A String", # If the value is non-textual, this field represents the type. Current
+ # valid values are:
+ # - blank (this indicates the field_value is normal text)
+ # - "unfilled_checkbox"
+ # - "filled_checkbox"
+ "fieldName": { # Visual element describing a layout unit on a page. # Layout for the FormField name. e.g. `Address`, `Email`,
+ # `Grand total`, `Phone number`, etc.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "nameDetectedLanguages": [ # A list of detected languages for name together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "valueDetectedLanguages": [ # A list of detected languages for value together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "fieldValue": { # Visual element describing a layout unit on a page. # Layout for the FormField value.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ },
+ ],
+ "blocks": [ # A list of visually detected text blocks on the page.
+ # A block has a set of lines (collected into paragraphs) that have a common
+ # line-spacing and orientation.
+ { # A block has a set of lines (collected into paragraphs) that have a
+ # common line-spacing and orientation.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for Block.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ },
+ ],
+ "tokens": [ # A list of visually detected tokens on the page.
+ { # A detected token.
+ "detectedBreak": { # Detected break at the end of a Token. # Detected break at the end of a Token.
+ "type": "A String", # Detected break type.
+ },
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "layout": { # Visual element describing a layout unit on a page. # Layout for Token.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ },
+ ],
+ "pageNumber": 42, # 1-based index for current Page in a parent Document.
+ # Useful when a page is taken out of a Document for individual
+ # processing.
+ "visualElements": [ # A list of detected non-text visual elements e.g. checkbox,
+ # signature etc. on the page.
+ { # Detected non-text visual elements e.g. checkbox, signature etc. on the
+ # page.
+ "detectedLanguages": [ # A list of detected languages together with confidence.
+ { # Detected language for a structural component.
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "confidence": 3.14, # Confidence of detected language. Range [0, 1].
+ },
+ ],
+ "type": "A String", # Type of the VisualElement.
+ "layout": { # Visual element describing a layout unit on a page. # Layout for VisualElement.
+ "orientation": "A String", # Detected orientation for the Layout.
+ "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the Layout.
+ "normalizedVertices": [ # The bounding polygon normalized vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the normalized vertex coordinates are relative to the original image
+ # and range from 0 to 1.
+ "x": 3.14, # X coordinate.
+ "y": 3.14, # Y coordinate.
+ },
+ ],
+ "vertices": [ # The bounding polygon vertices.
+ { # A vertex represents a 2D point in the image.
+ # NOTE: the vertex coordinates are in the same scale as the original image.
+ "x": 42, # X coordinate.
+ "y": 42, # Y coordinate.
+ },
+ ],
+ },
+ "confidence": 3.14, # Confidence of the current Layout within context of the object this
+ # layout is for. e.g. confidence can be for a single token, a table,
+ # a visual element, etc. depending on context. Range [0, 1].
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ },
+ },
+ ],
+ },
+ ],
+ "text": "A String", # UTF-8 encoded text in reading order from the document.
+ "mimeType": "A String", # An IANA published MIME type (also referred to as media type). For more
+ # information, see
+ # https://www.iana.org/assignments/media-types/media-types.xhtml.
+ "entityRelations": [ # Relationship among Document.entities.
+ { # Relationship between Entities.
+ "objectId": "A String", # Object entity id.
+ "relation": "A String", # Relationship description.
+ "subjectId": "A String", # Subject entity id.
+ },
+ ],
+ "translations": [ # A list of translations on Document.text. For document shards,
+ # translations in this list may cross shard boundaries.
+ { # A translation of the text segment.
+ "textAnchor": { # Text reference indexing into the Document.text. # Provenance of the translation.
+ # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ # information, see
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ "translatedText": "A String", # Text translated into the target language.
+ },
+ ],
+ "shardInfo": { # For a large document, sharding may be performed to produce several # Information about the sharding if this document is sharded part of a larger
+ # document. If the document is not sharded, this message is not specified.
+ # document shards. Each document shard contains this field to detail which
+ # shard it is.
+ "shardIndex": "A String", # The 0-based index of this shard.
+ "textOffset": "A String", # The index of the first character in Document.text in the overall
+ # document global text.
+ "shardCount": "A String", # Total number of shards.
+ },
+ "textStyles": [ # Styles for the Document.text.
+ { # Annotation for common text style attributes. This adheres to CSS
+ # conventions as much as possible.
+ "fontWeight": "A String", # Font weight. Possible values are normal, bold, bolder, and lighter.
+ # https://www.w3schools.com/cssref/pr_font_weight.asp
+ "textAnchor": { # Text reference indexing into the Document.text. # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ "textDecoration": "A String", # Text decoration. Follows CSS standard.
+ # <text-decoration-line> <text-decoration-color> <text-decoration-style>
+ # https://www.w3schools.com/cssref/pr_text_text-decoration.asp
+ "color": { # Represents a color in the RGBA color space. This representation is designed # Text color.
+ # for simplicity of conversion to/from color representations in various
+ # languages over compactness; for example, the fields of this representation
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+ # method in iOS; and, with just a little work, it can be easily formatted into
+ # a CSS "rgba()" string in JavaScript, as well.
+ #
+ # Note: this proto does not carry information about the absolute color space
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+ # space.
+ #
+ # Note: when color equality needs to be decided, implementations, unless
+ # documented otherwise, will treat two colors to be equal if all their red,
+ # green, blue and alpha values each differ by at most 1e-5.
+ #
+ # Example (Java):
+ #
+ # import com.google.type.Color;
+ #
+ # // ...
+ # public static java.awt.Color fromProto(Color protocolor) {
+ # float alpha = protocolor.hasAlpha()
+ # ? protocolor.getAlpha().getValue()
+ # : 1.0;
+ #
+ # return new java.awt.Color(
+ # protocolor.getRed(),
+ # protocolor.getGreen(),
+ # protocolor.getBlue(),
+ # alpha);
+ # }
+ #
+ # public static Color toProto(java.awt.Color color) {
+ # float red = (float) color.getRed();
+ # float green = (float) color.getGreen();
+ # float blue = (float) color.getBlue();
+ # float denominator = 255.0;
+ # Color.Builder resultBuilder =
+ # Color
+ # .newBuilder()
+ # .setRed(red / denominator)
+ # .setGreen(green / denominator)
+ # .setBlue(blue / denominator);
+ # int alpha = color.getAlpha();
+ # if (alpha != 255) {
+ # result.setAlpha(
+ # FloatValue
+ # .newBuilder()
+ # .setValue(((float) alpha) / denominator)
+ # .build());
+ # }
+ # return resultBuilder.build();
+ # }
+ # // ...
+ #
+ # Example (iOS / Obj-C):
+ #
+ # // ...
+ # static UIColor* fromProto(Color* protocolor) {
+ # float red = [protocolor red];
+ # float green = [protocolor green];
+ # float blue = [protocolor blue];
+ # FloatValue* alpha_wrapper = [protocolor alpha];
+ # float alpha = 1.0;
+ # if (alpha_wrapper != nil) {
+ # alpha = [alpha_wrapper value];
+ # }
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+ # }
+ #
+ # static Color* toProto(UIColor* color) {
+ # CGFloat red, green, blue, alpha;
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+ # return nil;
+ # }
+ # Color* result = [[Color alloc] init];
+ # [result setRed:red];
+ # [result setGreen:green];
+ # [result setBlue:blue];
+ # if (alpha <= 0.9999) {
+ # [result setAlpha:floatWrapperWithValue(alpha)];
+ # }
+ # [result autorelease];
+ # return result;
+ # }
+ # // ...
+ #
+ # Example (JavaScript):
+ #
+ # // ...
+ #
+ # var protoToCssColor = function(rgb_color) {
+ # var redFrac = rgb_color.red || 0.0;
+ # var greenFrac = rgb_color.green || 0.0;
+ # var blueFrac = rgb_color.blue || 0.0;
+ # var red = Math.floor(redFrac * 255);
+ # var green = Math.floor(greenFrac * 255);
+ # var blue = Math.floor(blueFrac * 255);
+ #
+ # if (!('alpha' in rgb_color)) {
+ # return rgbToCssColor_(red, green, blue);
+ # }
+ #
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
+ # var rgbParams = [red, green, blue].join(',');
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+ # };
+ #
+ # var rgbToCssColor_ = function(red, green, blue) {
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+ # var hexString = rgbNumber.toString(16);
+ # var missingZeros = 6 - hexString.length;
+ # var resultBuilder = ['#'];
+ # for (var i = 0; i < missingZeros; i++) {
+ # resultBuilder.push('0');
+ # }
+ # resultBuilder.push(hexString);
+ # return resultBuilder.join('');
+ # };
+ #
+ # // ...
+ "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+ # the final pixel color is defined by the equation:
+ #
+ # pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+ #
+ # This means that a value of 1.0 corresponds to a solid color, whereas
+ # a value of 0.0 corresponds to a completely transparent color. This
+ # uses a wrapper message rather than a simple float scalar so that it is
+ # possible to distinguish between a default value and the value being unset.
+ # If omitted, this color object is to be rendered as a solid color
+ # (as if the alpha value had been explicitly given with a value of 1.0).
+ "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+ "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+ "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+ },
+ "fontSize": { # Font size with unit. # Font size.
+ "size": 3.14, # Font size for the text.
+ "unit": "A String", # Unit for the font size. Follows CSS naming (in, px, pt, etc.).
+ },
+ "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # Text background color.
+ # for simplicity of conversion to/from color representations in various
+ # languages over compactness; for example, the fields of this representation
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+ # method in iOS; and, with just a little work, it can be easily formatted into
+ # a CSS "rgba()" string in JavaScript, as well.
+ #
+ # Note: this proto does not carry information about the absolute color space
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+ # space.
+ #
+ # Note: when color equality needs to be decided, implementations, unless
+ # documented otherwise, will treat two colors to be equal if all their red,
+ # green, blue and alpha values each differ by at most 1e-5.
+ #
+ # Example (Java):
+ #
+ # import com.google.type.Color;
+ #
+ # // ...
+ # public static java.awt.Color fromProto(Color protocolor) {
+ # float alpha = protocolor.hasAlpha()
+ # ? protocolor.getAlpha().getValue()
+ # : 1.0;
+ #
+ # return new java.awt.Color(
+ # protocolor.getRed(),
+ # protocolor.getGreen(),
+ # protocolor.getBlue(),
+ # alpha);
+ # }
+ #
+ # public static Color toProto(java.awt.Color color) {
+ # float red = (float) color.getRed();
+ # float green = (float) color.getGreen();
+ # float blue = (float) color.getBlue();
+ # float denominator = 255.0;
+ # Color.Builder resultBuilder =
+ # Color
+ # .newBuilder()
+ # .setRed(red / denominator)
+ # .setGreen(green / denominator)
+ # .setBlue(blue / denominator);
+ # int alpha = color.getAlpha();
+ # if (alpha != 255) {
+ # result.setAlpha(
+ # FloatValue
+ # .newBuilder()
+ # .setValue(((float) alpha) / denominator)
+ # .build());
+ # }
+ # return resultBuilder.build();
+ # }
+ # // ...
+ #
+ # Example (iOS / Obj-C):
+ #
+ # // ...
+ # static UIColor* fromProto(Color* protocolor) {
+ # float red = [protocolor red];
+ # float green = [protocolor green];
+ # float blue = [protocolor blue];
+ # FloatValue* alpha_wrapper = [protocolor alpha];
+ # float alpha = 1.0;
+ # if (alpha_wrapper != nil) {
+ # alpha = [alpha_wrapper value];
+ # }
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+ # }
+ #
+ # static Color* toProto(UIColor* color) {
+ # CGFloat red, green, blue, alpha;
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+ # return nil;
+ # }
+ # Color* result = [[Color alloc] init];
+ # [result setRed:red];
+ # [result setGreen:green];
+ # [result setBlue:blue];
+ # if (alpha <= 0.9999) {
+ # [result setAlpha:floatWrapperWithValue(alpha)];
+ # }
+ # [result autorelease];
+ # return result;
+ # }
+ # // ...
+ #
+ # Example (JavaScript):
+ #
+ # // ...
+ #
+ # var protoToCssColor = function(rgb_color) {
+ # var redFrac = rgb_color.red || 0.0;
+ # var greenFrac = rgb_color.green || 0.0;
+ # var blueFrac = rgb_color.blue || 0.0;
+ # var red = Math.floor(redFrac * 255);
+ # var green = Math.floor(greenFrac * 255);
+ # var blue = Math.floor(blueFrac * 255);
+ #
+ # if (!('alpha' in rgb_color)) {
+ # return rgbToCssColor_(red, green, blue);
+ # }
+ #
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
+ # var rgbParams = [red, green, blue].join(',');
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+ # };
+ #
+ # var rgbToCssColor_ = function(red, green, blue) {
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+ # var hexString = rgbNumber.toString(16);
+ # var missingZeros = 6 - hexString.length;
+ # var resultBuilder = ['#'];
+ # for (var i = 0; i < missingZeros; i++) {
+ # resultBuilder.push('0');
+ # }
+ # resultBuilder.push(hexString);
+ # return resultBuilder.join('');
+ # };
+ #
+ # // ...
+ "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+ # the final pixel color is defined by the equation:
+ #
+ # pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+ #
+ # This means that a value of 1.0 corresponds to a solid color, whereas
+ # a value of 0.0 corresponds to a completely transparent color. This
+ # uses a wrapper message rather than a simple float scalar so that it is
+ # possible to distinguish between a default value and the value being unset.
+ # If omitted, this color object is to be rendered as a solid color
+ # (as if the alpha value had been explicitly given with a value of 1.0).
+ "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+ "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+ "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+ },
+ "textStyle": "A String", # Text style. Possible values are normal, italic, and oblique.
+ # https://www.w3schools.com/cssref/pr_font_font-style.asp
+ },
+ ],
+ "entities": [ # A list of entities detected on Document.text. For document shards,
+ # entities in this list may cross shard boundaries.
+ { # A phrase in the text that is a known entity type, such as a person, an
+ # organization, or location.
+ "textAnchor": { # Text reference indexing into the Document.text. # Provenance of the entity.
+ # Text anchor indexing into the Document.text.
+ "textSegments": [ # The text segments from the Document.text.
+ { # A text segment in the Document.text. The indices may be out of bounds
+ # which indicate that the text extends into another document shard for
+ # large sharded documents. See ShardInfo.text_offset
+ "startIndex": "A String", # TextSegment start UTF-8 char index in the Document.text.
+ "endIndex": "A String", # TextSegment half open end UTF-8 char index in the
+ # Document.text.
+ },
+ ],
+ },
+ "mentionId": "A String", # Deprecated. Use `id` field instead.
+ "type": "A String", # Entity type from a schema e.g. `Address`.
+ "confidence": 3.14, # Optional. Confidence of detected Schema entity. Range [0, 1].
+ "mentionText": "A String", # Text value in the document e.g. `1600 Amphitheatre Pkwy`.
+ },
+ ],
+ }</pre>
+</div>
+
+</body></html>
\ No newline at end of file