google-cloud-document_ai-v1beta3 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-document_ai-v1beta3.rb +21 -0
  7. data/lib/google/cloud/document_ai/v1beta3.rb +35 -0
  8. data/lib/google/cloud/document_ai/v1beta3/document_processor_service.rb +53 -0
  9. data/lib/google/cloud/document_ai/v1beta3/document_processor_service/client.rb +570 -0
  10. data/lib/google/cloud/document_ai/v1beta3/document_processor_service/credentials.rb +51 -0
  11. data/lib/google/cloud/document_ai/v1beta3/document_processor_service/operations.rb +570 -0
  12. data/lib/google/cloud/document_ai/v1beta3/document_processor_service/paths.rb +71 -0
  13. data/lib/google/cloud/document_ai/v1beta3/version.rb +28 -0
  14. data/lib/google/cloud/documentai/v1beta3/document_pb.rb +303 -0
  15. data/lib/google/cloud/documentai/v1beta3/document_processor_service_pb.rb +106 -0
  16. data/lib/google/cloud/documentai/v1beta3/document_processor_service_services_pb.rb +54 -0
  17. data/lib/google/cloud/documentai/v1beta3/geometry_pb.rb +34 -0
  18. data/proto_docs/README.md +4 -0
  19. data/proto_docs/google/api/field_behavior.rb +59 -0
  20. data/proto_docs/google/api/resource.rb +283 -0
  21. data/proto_docs/google/cloud/documentai/v1beta3/document.rb +816 -0
  22. data/proto_docs/google/cloud/documentai/v1beta3/document_processor_service.rb +235 -0
  23. data/proto_docs/google/cloud/documentai/v1beta3/geometry.rb +65 -0
  24. data/proto_docs/google/longrunning/operations.rb +150 -0
  25. data/proto_docs/google/protobuf/any.rb +138 -0
  26. data/proto_docs/google/protobuf/duration.rb +98 -0
  27. data/proto_docs/google/protobuf/empty.rb +36 -0
  28. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  29. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  30. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  31. data/proto_docs/google/rpc/status.rb +46 -0
  32. data/proto_docs/google/type/color.rb +168 -0
  33. data/proto_docs/google/type/date.rb +50 -0
  34. data/proto_docs/google/type/datetime.rb +91 -0
  35. data/proto_docs/google/type/money.rb +43 -0
  36. data/proto_docs/google/type/postal_address.rb +135 -0
  37. metadata +219 -0
@@ -0,0 +1,54 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/documentai/v1beta3/document_processor_service.proto for package 'Google.Cloud.DocumentAI.V1beta3'
3
+ # Original file comments:
4
+ # Copyright 2020 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/documentai/v1beta3/document_processor_service_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module DocumentAI
25
+ module V1beta3
26
+ module DocumentProcessorService
27
+ # Service to call Cloud DocumentAI to process documents according to the
28
+ # processor's definition. Processors are built using state-of-the-art Google
29
+ # AI such as natural language, computer vision, and translation to extract
30
+ # structured information from unstructured or semi-structured documents.
31
+ class Service
32
+
33
+ include GRPC::GenericService
34
+
35
+ self.marshal_class_method = :encode
36
+ self.unmarshal_class_method = :decode
37
+ self.service_name = 'google.cloud.documentai.v1beta3.DocumentProcessorService'
38
+
39
+ # Processes a single document.
40
+ rpc :ProcessDocument, ::Google::Cloud::DocumentAI::V1beta3::ProcessRequest, ::Google::Cloud::DocumentAI::V1beta3::ProcessResponse
41
+ # LRO endpoint to batch process many documents. The output is written
42
+ # to Cloud Storage as JSON in the [Document] format.
43
+ rpc :BatchProcessDocuments, ::Google::Cloud::DocumentAI::V1beta3::BatchProcessRequest, ::Google::Longrunning::Operation
44
+ # Send a document for Human Review. The input document should be processed by
45
+ # the specified processor.
46
+ rpc :ReviewDocument, ::Google::Cloud::DocumentAI::V1beta3::ReviewDocumentRequest, ::Google::Longrunning::Operation
47
+ end
48
+
49
+ Stub = Service.rpc_stub_class
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/documentai/v1beta3/geometry.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/documentai/v1beta3/geometry.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.documentai.v1beta3.Vertex" do
10
+ optional :x, :int32, 1
11
+ optional :y, :int32, 2
12
+ end
13
+ add_message "google.cloud.documentai.v1beta3.NormalizedVertex" do
14
+ optional :x, :float, 1
15
+ optional :y, :float, 2
16
+ end
17
+ add_message "google.cloud.documentai.v1beta3.BoundingPoly" do
18
+ repeated :vertices, :message, 1, "google.cloud.documentai.v1beta3.Vertex"
19
+ repeated :normalized_vertices, :message, 2, "google.cloud.documentai.v1beta3.NormalizedVertex"
20
+ end
21
+ end
22
+ end
23
+
24
+ module Google
25
+ module Cloud
26
+ module DocumentAI
27
+ module V1beta3
28
+ Vertex = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.documentai.v1beta3.Vertex").msgclass
29
+ NormalizedVertex = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.documentai.v1beta3.NormalizedVertex").msgclass
30
+ BoundingPoly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.documentai.v1beta3.BoundingPoly").msgclass
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,4 @@
1
+ # Document AI V1beta3 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,816 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DocumentAI
23
+ module V1beta3
24
+ # Document represents the canonical document resource in Document Understanding
25
+ # AI.
26
+ # It is an interchange format that provides insights into documents and allows
27
+ # for collaboration between users and Document Understanding AI to iterate and
28
+ # optimize for quality.
29
+ # @!attribute [rw] uri
30
+ # @return [::String]
31
+ # Currently supports Google Cloud Storage URI of the form
32
+ # `gs://bucket_name/object_name`. Object versioning is not supported.
33
+ # See [Google Cloud Storage Request
34
+ # URIs](https://cloud.google.com/storage/docs/reference-uris) for more
35
+ # info.
36
+ # @!attribute [rw] content
37
+ # @return [::String]
38
+ # Inline document content, represented as a stream of bytes.
39
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
40
+ # representation, whereas JSON representations use base64.
41
+ # @!attribute [rw] mime_type
42
+ # @return [::String]
43
+ # An IANA published MIME type (also referred to as media type). For more
44
+ # information, see
45
+ # https://www.iana.org/assignments/media-types/media-types.xhtml.
46
+ # @!attribute [rw] text
47
+ # @return [::String]
48
+ # UTF-8 encoded text in reading order from the document.
49
+ # @!attribute [rw] text_styles
50
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Style>]
51
+ # Styles for the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
52
+ # @!attribute [rw] pages
53
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page>]
54
+ # Visual page layout for the {::Google::Cloud::DocumentAI::V1beta3::Document Document}.
55
+ # @!attribute [rw] entities
56
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Entity>]
57
+ # A list of entities detected on {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}. For document shards,
58
+ # entities in this list may cross shard boundaries.
59
+ # @!attribute [rw] entity_relations
60
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::EntityRelation>]
61
+ # Relationship among {::Google::Cloud::DocumentAI::V1beta3::Document#entities Document.entities}.
62
+ # @!attribute [rw] translations
63
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Translation>]
64
+ # A list of translations on {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}. For document shards,
65
+ # translations in this list may cross shard boundaries.
66
+ # @!attribute [rw] text_changes
67
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::TextChange>]
68
+ # A list of text corrections made to [Document.text]. This is usually
69
+ # used for annotating corrections to OCR mistakes. Text changes for a given
70
+ # revision may not overlap with each other.
71
+ # @!attribute [rw] shard_info
72
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::ShardInfo]
73
+ # Information about the sharding if this document is sharded part of a larger
74
+ # document. If the document is not sharded, this message is not specified.
75
+ # @!attribute [rw] error
76
+ # @return [::Google::Rpc::Status]
77
+ # Any error that occurred while processing this document.
78
+ # @!attribute [rw] revisions
79
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Revision>]
80
+ # Revision history of this document.
81
+ class Document
82
+ include ::Google::Protobuf::MessageExts
83
+ extend ::Google::Protobuf::MessageExts::ClassMethods
84
+
85
+ # For a large document, sharding may be performed to produce several
86
+ # document shards. Each document shard contains this field to detail which
87
+ # shard it is.
88
+ # @!attribute [rw] shard_index
89
+ # @return [::Integer]
90
+ # The 0-based index of this shard.
91
+ # @!attribute [rw] shard_count
92
+ # @return [::Integer]
93
+ # Total number of shards.
94
+ # @!attribute [rw] text_offset
95
+ # @return [::Integer]
96
+ # The index of the first character in {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text} in the overall
97
+ # document global text.
98
+ class ShardInfo
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # Annotation for common text style attributes. This adheres to CSS
104
+ # conventions as much as possible.
105
+ # @!attribute [rw] text_anchor
106
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
107
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
108
+ # @!attribute [rw] color
109
+ # @return [::Google::Type::Color]
110
+ # Text color.
111
+ # @!attribute [rw] background_color
112
+ # @return [::Google::Type::Color]
113
+ # Text background color.
114
+ # @!attribute [rw] font_weight
115
+ # @return [::String]
116
+ # Font weight. Possible values are normal, bold, bolder, and lighter.
117
+ # https://www.w3schools.com/cssref/pr_font_weight.asp
118
+ # @!attribute [rw] text_style
119
+ # @return [::String]
120
+ # Text style. Possible values are normal, italic, and oblique.
121
+ # https://www.w3schools.com/cssref/pr_font_font-style.asp
122
+ # @!attribute [rw] text_decoration
123
+ # @return [::String]
124
+ # Text decoration. Follows CSS standard.
125
+ # <text-decoration-line> <text-decoration-color> <text-decoration-style>
126
+ # https://www.w3schools.com/cssref/pr_text_text-decoration.asp
127
+ # @!attribute [rw] font_size
128
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Style::FontSize]
129
+ # Font size.
130
+ class Style
131
+ include ::Google::Protobuf::MessageExts
132
+ extend ::Google::Protobuf::MessageExts::ClassMethods
133
+
134
+ # Font size with unit.
135
+ # @!attribute [rw] size
136
+ # @return [::Float]
137
+ # Font size for the text.
138
+ # @!attribute [rw] unit
139
+ # @return [::String]
140
+ # Unit for the font size. Follows CSS naming (in, px, pt, etc.).
141
+ class FontSize
142
+ include ::Google::Protobuf::MessageExts
143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
144
+ end
145
+ end
146
+
147
+ # A page in a {::Google::Cloud::DocumentAI::V1beta3::Document Document}.
148
+ # @!attribute [rw] page_number
149
+ # @return [::Integer]
150
+ # 1-based index for current {::Google::Cloud::DocumentAI::V1beta3::Document::Page Page} in a parent {::Google::Cloud::DocumentAI::V1beta3::Document Document}.
151
+ # Useful when a page is taken out of a {::Google::Cloud::DocumentAI::V1beta3::Document Document} for individual
152
+ # processing.
153
+ # @!attribute [rw] image
154
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Image]
155
+ # Rendered image for this page. This image is preprocessed to remove any
156
+ # skew, rotation, and distortions such that the annotation bounding boxes
157
+ # can be upright and axis-aligned.
158
+ # @!attribute [rw] transforms
159
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Matrix>]
160
+ # Transformation matrices that were applied to the original document image
161
+ # to produce {::Google::Cloud::DocumentAI::V1beta3::Document::Page#image Page.image}.
162
+ # @!attribute [rw] dimension
163
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Dimension]
164
+ # Physical dimension of the page.
165
+ # @!attribute [rw] layout
166
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
167
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the page.
168
+ # @!attribute [rw] detected_languages
169
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
170
+ # A list of detected languages together with confidence.
171
+ # @!attribute [rw] blocks
172
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block>]
173
+ # A list of visually detected text blocks on the page.
174
+ # A block has a set of lines (collected into paragraphs) that have a common
175
+ # line-spacing and orientation.
176
+ # @!attribute [rw] paragraphs
177
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph>]
178
+ # A list of visually detected text paragraphs on the page.
179
+ # A collection of lines that a human would perceive as a paragraph.
180
+ # @!attribute [rw] lines
181
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line>]
182
+ # A list of visually detected text lines on the page.
183
+ # A collection of tokens that a human would perceive as a line.
184
+ # @!attribute [rw] tokens
185
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token>]
186
+ # A list of visually detected tokens on the page.
187
+ # @!attribute [rw] visual_elements
188
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement>]
189
+ # A list of detected non-text visual elements e.g. checkbox,
190
+ # signature etc. on the page.
191
+ # @!attribute [rw] tables
192
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table>]
193
+ # A list of visually detected tables on the page.
194
+ # @!attribute [rw] form_fields
195
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField>]
196
+ # A list of visually detected form fields on the page.
197
+ class Page
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+
201
+ # Dimension for the page.
202
+ # @!attribute [rw] width
203
+ # @return [::Float]
204
+ # Page width.
205
+ # @!attribute [rw] height
206
+ # @return [::Float]
207
+ # Page height.
208
+ # @!attribute [rw] unit
209
+ # @return [::String]
210
+ # Dimension unit.
211
+ class Dimension
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # Rendered image contents for this page.
217
+ # @!attribute [rw] content
218
+ # @return [::String]
219
+ # Raw byte content of the image.
220
+ # @!attribute [rw] mime_type
221
+ # @return [::String]
222
+ # Encoding mime type for the image.
223
+ # @!attribute [rw] width
224
+ # @return [::Integer]
225
+ # Width of the image in pixels.
226
+ # @!attribute [rw] height
227
+ # @return [::Integer]
228
+ # Height of the image in pixels.
229
+ class Image
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # Representation for transformation matrix, intended to be compatible and
235
+ # used with OpenCV format for image manipulation.
236
+ # @!attribute [rw] rows
237
+ # @return [::Integer]
238
+ # Number of rows in the matrix.
239
+ # @!attribute [rw] cols
240
+ # @return [::Integer]
241
+ # Number of columns in the matrix.
242
+ # @!attribute [rw] type
243
+ # @return [::Integer]
244
+ # This encodes information about what data type the matrix uses.
245
+ # For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
246
+ # of OpenCV primitive data types, please refer to
247
+ # https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
248
+ # @!attribute [rw] data
249
+ # @return [::String]
250
+ # The matrix data.
251
+ class Matrix
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+ end
255
+
256
+ # Visual element describing a layout unit on a page.
257
+ # @!attribute [rw] text_anchor
258
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
259
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
260
+ # @!attribute [rw] confidence
261
+ # @return [::Float]
262
+ # Confidence of the current {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within context of the object this
263
+ # layout is for. e.g. confidence can be for a single token, a table,
264
+ # a visual element, etc. depending on context. Range [0, 1].
265
+ # @!attribute [rw] bounding_poly
266
+ # @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
267
+ # The bounding polygon for the {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
268
+ # @!attribute [rw] orientation
269
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
270
+ # Detected orientation for the {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
271
+ class Layout
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+
275
+ # Detected human reading orientation.
276
+ module Orientation
277
+ # Unspecified orientation.
278
+ ORIENTATION_UNSPECIFIED = 0
279
+
280
+ # Orientation is aligned with page up.
281
+ PAGE_UP = 1
282
+
283
+ # Orientation is aligned with page right.
284
+ # Turn the head 90 degrees clockwise from upright to read.
285
+ PAGE_RIGHT = 2
286
+
287
+ # Orientation is aligned with page down.
288
+ # Turn the head 180 degrees from upright to read.
289
+ PAGE_DOWN = 3
290
+
291
+ # Orientation is aligned with page left.
292
+ # Turn the head 90 degrees counterclockwise from upright to read.
293
+ PAGE_LEFT = 4
294
+ end
295
+ end
296
+
297
+ # A block has a set of lines (collected into paragraphs) that have a
298
+ # common line-spacing and orientation.
299
+ # @!attribute [rw] layout
300
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
301
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
302
+ # @!attribute [rw] detected_languages
303
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
304
+ # A list of detected languages together with confidence.
305
+ # @!attribute [rw] provenance
306
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
307
+ # The history of this annotation.
308
+ class Block
309
+ include ::Google::Protobuf::MessageExts
310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
311
+ end
312
+
313
+ # A collection of lines that a human would perceive as a paragraph.
314
+ # @!attribute [rw] layout
315
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
316
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
317
+ # @!attribute [rw] detected_languages
318
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
319
+ # A list of detected languages together with confidence.
320
+ # @!attribute [rw] provenance
321
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
322
+ # The history of this annotation.
323
+ class Paragraph
324
+ include ::Google::Protobuf::MessageExts
325
+ extend ::Google::Protobuf::MessageExts::ClassMethods
326
+ end
327
+
328
+ # A collection of tokens that a human would perceive as a line.
329
+ # Does not cross column boundaries, can be horizontal, vertical, etc.
330
+ # @!attribute [rw] layout
331
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
332
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
333
+ # @!attribute [rw] detected_languages
334
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
335
+ # A list of detected languages together with confidence.
336
+ # @!attribute [rw] provenance
337
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
338
+ # The history of this annotation.
339
+ class Line
340
+ include ::Google::Protobuf::MessageExts
341
+ extend ::Google::Protobuf::MessageExts::ClassMethods
342
+ end
343
+
344
+ # A detected token.
345
+ # @!attribute [rw] layout
346
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
347
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
348
+ # @!attribute [rw] detected_break
349
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
350
+ # Detected break at the end of a {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
351
+ # @!attribute [rw] detected_languages
352
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
353
+ # A list of detected languages together with confidence.
354
+ # @!attribute [rw] provenance
355
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
356
+ # The history of this annotation.
357
+ class Token
358
+ include ::Google::Protobuf::MessageExts
359
+ extend ::Google::Protobuf::MessageExts::ClassMethods
360
+
361
+ # Detected break at the end of a {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
362
+ # @!attribute [rw] type
363
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
364
+ # Detected break type.
365
+ class DetectedBreak
366
+ include ::Google::Protobuf::MessageExts
367
+ extend ::Google::Protobuf::MessageExts::ClassMethods
368
+
369
+ # Enum to denote the type of break found.
370
+ module Type
371
+ # Unspecified break type.
372
+ TYPE_UNSPECIFIED = 0
373
+
374
+ # A single whitespace.
375
+ SPACE = 1
376
+
377
+ # A wider whitespace.
378
+ WIDE_SPACE = 2
379
+
380
+ # A hyphen that indicates that a token has been split across lines.
381
+ HYPHEN = 3
382
+ end
383
+ end
384
+ end
385
+
386
+ # Detected non-text visual elements e.g. checkbox, signature etc. on the
387
+ # page.
388
+ # @!attribute [rw] layout
389
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
390
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
391
+ # @!attribute [rw] type
392
+ # @return [::String]
393
+ # Type of the {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
394
+ # @!attribute [rw] detected_languages
395
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
396
+ # A list of detected languages together with confidence.
397
+ class VisualElement
398
+ include ::Google::Protobuf::MessageExts
399
+ extend ::Google::Protobuf::MessageExts::ClassMethods
400
+ end
401
+
402
+ # A table representation similar to HTML table structure.
403
+ # @!attribute [rw] layout
404
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
405
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
406
+ # @!attribute [rw] header_rows
407
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
408
+ # Header rows of the table.
409
+ # @!attribute [rw] body_rows
410
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
411
+ # Body rows of the table.
412
+ # @!attribute [rw] detected_languages
413
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
414
+ # A list of detected languages together with confidence.
415
+ class Table
416
+ include ::Google::Protobuf::MessageExts
417
+ extend ::Google::Protobuf::MessageExts::ClassMethods
418
+
419
+ # A row of table cells.
420
+ # @!attribute [rw] cells
421
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
422
+ # Cells that make up this row.
423
+ class TableRow
424
+ include ::Google::Protobuf::MessageExts
425
+ extend ::Google::Protobuf::MessageExts::ClassMethods
426
+ end
427
+
428
+ # A cell representation inside the table.
429
+ # @!attribute [rw] layout
430
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
431
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
432
+ # @!attribute [rw] row_span
433
+ # @return [::Integer]
434
+ # How many rows this cell spans.
435
+ # @!attribute [rw] col_span
436
+ # @return [::Integer]
437
+ # How many columns this cell spans.
438
+ # @!attribute [rw] detected_languages
439
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
440
+ # A list of detected languages together with confidence.
441
+ class TableCell
442
+ include ::Google::Protobuf::MessageExts
443
+ extend ::Google::Protobuf::MessageExts::ClassMethods
444
+ end
445
+ end
446
+
447
+ # A form field detected on the page.
448
+ # @!attribute [rw] field_name
449
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
450
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField} name. e.g. `Address`, `Email`,
451
+ # `Grand total`, `Phone number`, etc.
452
+ # @!attribute [rw] field_value
453
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
454
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField} value.
455
+ # @!attribute [rw] name_detected_languages
456
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
457
+ # A list of detected languages for name together with confidence.
458
+ # @!attribute [rw] value_detected_languages
459
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
460
+ # A list of detected languages for value together with confidence.
461
+ # @!attribute [rw] value_type
462
+ # @return [::String]
463
+ # If the value is non-textual, this field represents the type. Current
464
+ # valid values are:
465
+ # - blank (this indicates the field_value is normal text)
466
+ # - "unfilled_checkbox"
467
+ # - "filled_checkbox"
468
+ class FormField
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+ end
472
+
473
+ # Detected language for a structural component.
474
+ # @!attribute [rw] language_code
475
+ # @return [::String]
476
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
477
+ # information, see
478
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
479
+ # @!attribute [rw] confidence
480
+ # @return [::Float]
481
+ # Confidence of detected language. Range [0, 1].
482
+ class DetectedLanguage
483
+ include ::Google::Protobuf::MessageExts
484
+ extend ::Google::Protobuf::MessageExts::ClassMethods
485
+ end
486
+ end
487
+
488
+ # A phrase in the text that is a known entity type, such as a person, an
489
+ # organization, or location.
490
+ # @!attribute [rw] text_anchor
491
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
492
+ # Provenance of the entity.
493
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
494
+ # @!attribute [rw] type
495
+ # @return [::String]
496
+ # Entity type from a schema e.g. `Address`.
497
+ # @!attribute [rw] mention_text
498
+ # @return [::String]
499
+ # Text value in the document e.g. `1600 Amphitheatre Pkwy`.
500
+ # @!attribute [rw] mention_id
501
+ # @return [::String]
502
+ # Deprecated. Use `id` field instead.
503
+ # @!attribute [rw] confidence
504
+ # @return [::Float]
505
+ # Optional. Confidence of detected Schema entity. Range [0, 1].
506
+ # @!attribute [rw] page_anchor
507
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::PageAnchor]
508
+ # Optional. Represents the provenance of this entity wrt. the location on the
509
+ # page where it was found.
510
+ # @!attribute [rw] id
511
+ # @return [::String]
512
+ # Canonical id. This will be a unique value in the entity list
513
+ # for this document.
514
+ # @!attribute [rw] normalized_value
515
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Entity::NormalizedValue]
516
+ # Optional. Normalized entity value. Absent if the extracted value could not be
517
+ # converted or the type (e.g. address) is not supported for certain
518
+ # parsers. This field is also only populated for certain supported document
519
+ # types.
520
+ # @!attribute [rw] properties
521
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Entity>]
522
+ # Optional. Entities can be nested to form a hierarchical data structure representing
523
+ # the content in the document.
524
+ # @!attribute [rw] provenance
525
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
526
+ # Optional. The history of this annotation.
527
+ # @!attribute [rw] redacted
528
+ # @return [::Boolean]
529
+ # Optional. Whether the entity will be redacted for de-identification purposes.
530
+ class Entity
531
+ include ::Google::Protobuf::MessageExts
532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
533
+
534
+ # Parsed and normalized entity value.
535
+ # @!attribute [rw] money_value
536
+ # @return [::Google::Type::Money]
537
+ # Money value. See also:
538
+ #
539
+ # https:
540
+ # github.com/googleapis/googleapis/blob/master/google/type/money.proto
541
+ # @!attribute [rw] date_value
542
+ # @return [::Google::Type::Date]
543
+ # Date value. Includes year, month, day. See also:
544
+ #
545
+ # https:
546
+ # github.com/googleapis/googleapis/blob/master/google/type/date.proto
547
+ # @!attribute [rw] datetime_value
548
+ # @return [::Google::Type::DateTime]
549
+ # DateTime value. Includes date, time, and timezone. See also:
550
+ #
551
+ # https:
552
+ # github.com/googleapis/googleapis/blob/master/google/type/datetime.proto
553
+ # @!attribute [rw] address_value
554
+ # @return [::Google::Type::PostalAddress]
555
+ # Postal address. See also:
556
+ #
557
+ # https:
558
+ # github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto
559
+ # @!attribute [rw] text
560
+ # @return [::String]
561
+ # Required. Normalized entity value stored as a string. This field is populated for
562
+ # supported document type (e.g. Invoice). For some entity types, one of
563
+ # respective 'structured_value' fields may also be populated.
564
+ #
565
+ # - Money/Currency type (`money_value`) is in the ISO 4217 text format.
566
+ # - Date type (`date_value`) is in the ISO 8601 text format.
567
+ # - Datetime type (`datetime_value`) is in the ISO 8601 text format.
568
+ class NormalizedValue
569
+ include ::Google::Protobuf::MessageExts
570
+ extend ::Google::Protobuf::MessageExts::ClassMethods
571
+ end
572
+ end
573
+
574
+ # Relationship between {::Google::Cloud::DocumentAI::V1beta3::Document::Entity Entities}.
575
+ # @!attribute [rw] subject_id
576
+ # @return [::String]
577
+ # Subject entity id.
578
+ # @!attribute [rw] object_id
579
+ # @return [::String]
580
+ # Object entity id.
581
+ # @!attribute [rw] relation
582
+ # @return [::String]
583
+ # Relationship description.
584
+ class EntityRelation
585
+ include ::Google::Protobuf::MessageExts
586
+ extend ::Google::Protobuf::MessageExts::ClassMethods
587
+ end
588
+
589
+ # A translation of the text segment.
590
+ # @!attribute [rw] text_anchor
591
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
592
+ # Provenance of the translation.
593
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}. There can only be a
594
+ # single `TextAnchor.text_segments` element. If the start and
595
+ # end index of the text segment are the same, the text change is inserted
596
+ # before that index.
597
+ # @!attribute [rw] language_code
598
+ # @return [::String]
599
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
600
+ # information, see
601
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
602
+ # @!attribute [rw] translated_text
603
+ # @return [::String]
604
+ # Text translated into the target language.
605
+ # @!attribute [rw] provenance
606
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Provenance>]
607
+ # The history of this annotation.
608
+ class Translation
609
+ include ::Google::Protobuf::MessageExts
610
+ extend ::Google::Protobuf::MessageExts::ClassMethods
611
+ end
612
+
613
+ # Text reference indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
614
+ # @!attribute [rw] text_segments
615
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor::TextSegment>]
616
+ # The text segments from the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
617
+ # @!attribute [rw] content
618
+ # @return [::String]
619
+ # Contains the content of the text span so that users do
620
+ # not have to look it up in the text_segments.
621
+ class TextAnchor
622
+ include ::Google::Protobuf::MessageExts
623
+ extend ::Google::Protobuf::MessageExts::ClassMethods
624
+
625
+ # A text segment in the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}. The indices may be out of bounds
626
+ # which indicate that the text extends into another document shard for
627
+ # large sharded documents. See {::Google::Cloud::DocumentAI::V1beta3::Document::ShardInfo#text_offset ShardInfo.text_offset}
628
+ # @!attribute [rw] start_index
629
+ # @return [::Integer]
630
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor::TextSegment TextSegment} start UTF-8 char index in the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
631
+ # @!attribute [rw] end_index
632
+ # @return [::Integer]
633
+ # {::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor::TextSegment TextSegment} half open end UTF-8 char index in the
634
+ # {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
635
+ class TextSegment
636
+ include ::Google::Protobuf::MessageExts
637
+ extend ::Google::Protobuf::MessageExts::ClassMethods
638
+ end
639
+ end
640
+
641
+ # Referencing the visual context of the entity in the {::Google::Cloud::DocumentAI::V1beta3::Document#pages Document.pages}.
642
+ # Page anchors can be cross-page, consist of multiple bounding polygons and
643
+ # optionally reference specific layout element types.
644
+ # @!attribute [rw] page_refs
645
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::PageAnchor::PageRef>]
646
+ # One or more references to visual page elements
647
+ class PageAnchor
648
+ include ::Google::Protobuf::MessageExts
649
+ extend ::Google::Protobuf::MessageExts::ClassMethods
650
+
651
+ # Represents a weak reference to a page element within a document.
652
+ # @!attribute [rw] page
653
+ # @return [::Integer]
654
+ # Required. Index into the {::Google::Cloud::DocumentAI::V1beta3::Document#pages Document.pages} element
655
+ # @!attribute [rw] layout_type
656
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::PageAnchor::PageRef::LayoutType]
657
+ # Optional. The type of the layout element that is being referenced if any.
658
+ # @!attribute [rw] layout_id
659
+ # @return [::String]
660
+ # Optional. Deprecated. Use {::Google::Cloud::DocumentAI::V1beta3::Document::PageAnchor::PageRef#bounding_poly PageRef.bounding_poly} instead.
661
+ # @!attribute [rw] bounding_poly
662
+ # @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
663
+ # Optional. Identifies the bounding polygon of a layout element on the page.
664
+ class PageRef
665
+ include ::Google::Protobuf::MessageExts
666
+ extend ::Google::Protobuf::MessageExts::ClassMethods
667
+
668
+ # The type of layout that is being referenced.
669
+ module LayoutType
670
+ # Layout Unspecified.
671
+ LAYOUT_TYPE_UNSPECIFIED = 0
672
+
673
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#blocks Page.blocks} element.
674
+ BLOCK = 1
675
+
676
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#paragraphs Page.paragraphs} element.
677
+ PARAGRAPH = 2
678
+
679
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#lines Page.lines} element.
680
+ LINE = 3
681
+
682
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#tokens Page.tokens} element.
683
+ TOKEN = 4
684
+
685
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#visual_elements Page.visual_elements} element.
686
+ VISUAL_ELEMENT = 5
687
+
688
+ # Refrrences a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#tables Page.tables} element.
689
+ TABLE = 6
690
+
691
+ # References a {::Google::Cloud::DocumentAI::V1beta3::Document::Page#form_fields Page.form_fields} element.
692
+ FORM_FIELD = 7
693
+ end
694
+ end
695
+ end
696
+
697
+ # Structure to identify provenance relationships between annotations in
698
+ # different revisions.
699
+ # @!attribute [rw] revision
700
+ # @return [::Integer]
701
+ # The index of the revision that produced this element.
702
+ # @!attribute [rw] id
703
+ # @return [::Integer]
704
+ # The Id of this operation. Needs to be unique within the scope of the
705
+ # revision.
706
+ # @!attribute [rw] parents
707
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Provenance::Parent>]
708
+ # References to the original elements that are replaced.
709
+ # @!attribute [rw] type
710
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance::OperationType]
711
+ # The type of provenance operation.
712
+ class Provenance
713
+ include ::Google::Protobuf::MessageExts
714
+ extend ::Google::Protobuf::MessageExts::ClassMethods
715
+
716
+ # Structure for referencing parent provenances. When an element replaces
717
+ # one of more other elements parent references identify the elements that
718
+ # are replaced.
719
+ # @!attribute [rw] revision
720
+ # @return [::Integer]
721
+ # The index of the [Document.revisions] identifying the parent revision.
722
+ # @!attribute [rw] id
723
+ # @return [::Integer]
724
+ # The id of the parent provenance.
725
+ class Parent
726
+ include ::Google::Protobuf::MessageExts
727
+ extend ::Google::Protobuf::MessageExts::ClassMethods
728
+ end
729
+
730
+ # If a processor or agent does an explicit operation on existing elements.
731
+ module OperationType
732
+ # Operation type unspecified.
733
+ OPERATION_TYPE_UNSPECIFIED = 0
734
+
735
+ # Add an element. Implicit if no `parents` are set for the provenance.
736
+ ADD = 1
737
+
738
+ # The element is removed. No `parents` should be set.
739
+ REMOVE = 2
740
+
741
+ # Explicitly replaces the element(s) identified by `parents`.
742
+ REPLACE = 3
743
+
744
+ # Element is requested for human review.
745
+ EVAL_REQUESTED = 4
746
+
747
+ # Element is review and approved at human review, confidence will be set
748
+ # to 1.0
749
+ EVAL_APPROVED = 5
750
+ end
751
+ end
752
+
753
+ # Contains past or forward revisions of this document.
754
+ # @!attribute [rw] agent
755
+ # @return [::String]
756
+ # If the change was made by a person specify the name or id of that
757
+ # person.
758
+ # @!attribute [rw] processor
759
+ # @return [::String]
760
+ # If the annotation was made by processor identify the processor by its
761
+ # resource name.
762
+ # @!attribute [rw] id
763
+ # @return [::String]
764
+ # Id of the revision. Unique within the context of the document.
765
+ # @!attribute [rw] parent
766
+ # @return [::Array<::Integer>]
767
+ # The revisions that this revision is based on. This can include one or
768
+ # more parent (when documents are merged.) This field represents the
769
+ # index into the `revisions` field.
770
+ # @!attribute [rw] create_time
771
+ # @return [::Google::Protobuf::Timestamp]
772
+ # The time that the revision was created.
773
+ # @!attribute [rw] human_review
774
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::Revision::HumanReview]
775
+ # Human Review information of this revision.
776
+ class Revision
777
+ include ::Google::Protobuf::MessageExts
778
+ extend ::Google::Protobuf::MessageExts::ClassMethods
779
+
780
+ # Human Review information of the document.
781
+ # @!attribute [rw] state
782
+ # @return [::String]
783
+ # Human review state. e.g. `requested`, `succeeded`, `rejected`.
784
+ # @!attribute [rw] state_message
785
+ # @return [::String]
786
+ # A message providing more details about the current state of processing.
787
+ # For example, the rejection reason when the state is `rejected`.
788
+ class HumanReview
789
+ include ::Google::Protobuf::MessageExts
790
+ extend ::Google::Protobuf::MessageExts::ClassMethods
791
+ end
792
+ end
793
+
794
+ # This message is used for text changes aka. OCR corrections.
795
+ # @!attribute [rw] text_anchor
796
+ # @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
797
+ # Provenance of the correction.
798
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}. There can only be a
799
+ # single `TextAnchor.text_segments` element. If the start and
800
+ # end index of the text segment are the same, the text change is inserted
801
+ # before that index.
802
+ # @!attribute [rw] changed_text
803
+ # @return [::String]
804
+ # The text that replaces the text identified in the `text_anchor`.
805
+ # @!attribute [rw] provenance
806
+ # @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Provenance>]
807
+ # The history of this annotation.
808
+ class TextChange
809
+ include ::Google::Protobuf::MessageExts
810
+ extend ::Google::Protobuf::MessageExts::ClassMethods
811
+ end
812
+ end
813
+ end
814
+ end
815
+ end
816
+ end