google-cloud-document_ai-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-document_ai-v1.rb +21 -0
  7. data/lib/google/cloud/document_ai/v1.rb +38 -0
  8. data/lib/google/cloud/document_ai/v1/document_processor_service.rb +53 -0
  9. data/lib/google/cloud/document_ai/v1/document_processor_service/client.rb +581 -0
  10. data/lib/google/cloud/document_ai/v1/document_processor_service/credentials.rb +51 -0
  11. data/lib/google/cloud/document_ai/v1/document_processor_service/operations.rb +655 -0
  12. data/lib/google/cloud/document_ai/v1/document_processor_service/paths.rb +71 -0
  13. data/lib/google/cloud/document_ai/v1/version.rb +28 -0
  14. data/lib/google/cloud/documentai/v1/document_io_pb.rb +54 -0
  15. data/lib/google/cloud/documentai/v1/document_pb.rb +298 -0
  16. data/lib/google/cloud/documentai/v1/document_processor_service_pb.rb +107 -0
  17. data/lib/google/cloud/documentai/v1/document_processor_service_services_pb.rb +54 -0
  18. data/lib/google/cloud/documentai/v1/geometry_pb.rb +34 -0
  19. data/lib/google/cloud/documentai/v1/operation_metadata_pb.rb +36 -0
  20. data/proto_docs/README.md +4 -0
  21. data/proto_docs/google/api/field_behavior.rb +65 -0
  22. data/proto_docs/google/api/resource.rb +283 -0
  23. data/proto_docs/google/cloud/documentai/v1/document.rb +791 -0
  24. data/proto_docs/google/cloud/documentai/v1/document_io.rb +100 -0
  25. data/proto_docs/google/cloud/documentai/v1/document_processor_service.rb +221 -0
  26. data/proto_docs/google/cloud/documentai/v1/geometry.rb +65 -0
  27. data/proto_docs/google/cloud/documentai/v1/operation_metadata.rb +65 -0
  28. data/proto_docs/google/longrunning/operations.rb +164 -0
  29. data/proto_docs/google/protobuf/any.rb +141 -0
  30. data/proto_docs/google/protobuf/duration.rb +98 -0
  31. data/proto_docs/google/protobuf/empty.rb +36 -0
  32. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  33. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  34. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  35. data/proto_docs/google/rpc/status.rb +46 -0
  36. data/proto_docs/google/type/color.rb +173 -0
  37. data/proto_docs/google/type/date.rb +53 -0
  38. data/proto_docs/google/type/datetime.rb +99 -0
  39. data/proto_docs/google/type/money.rb +43 -0
  40. data/proto_docs/google/type/postal_address.rb +135 -0
  41. metadata +231 -0
@@ -0,0 +1,791 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 V1
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
+ # Optional. 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
+ # Optional. 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
+ # Optional. UTF-8 encoded text in reading order from the document.
49
+ # @!attribute [rw] text_styles
50
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Style>]
51
+ # Styles for the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
52
+ # @!attribute [rw] pages
53
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page>]
54
+ # Visual page layout for the {::Google::Cloud::DocumentAI::V1::Document Document}.
55
+ # @!attribute [rw] entities
56
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Entity>]
57
+ # A list of entities detected on {::Google::Cloud::DocumentAI::V1::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::V1::Document::EntityRelation>]
61
+ # Relationship among {::Google::Cloud::DocumentAI::V1::Document#entities Document.entities}.
62
+ # @!attribute [rw] text_changes
63
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::TextChange>]
64
+ # A list of text corrections made to [Document.text]. This is usually
65
+ # used for annotating corrections to OCR mistakes. Text changes for a given
66
+ # revision may not overlap with each other.
67
+ # @!attribute [rw] shard_info
68
+ # @return [::Google::Cloud::DocumentAI::V1::Document::ShardInfo]
69
+ # Information about the sharding if this document is sharded part of a larger
70
+ # document. If the document is not sharded, this message is not specified.
71
+ # @!attribute [rw] error
72
+ # @return [::Google::Rpc::Status]
73
+ # Any error that occurred while processing this document.
74
+ # @!attribute [rw] revisions
75
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Revision>]
76
+ # Revision history of this document.
77
+ class Document
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # For a large document, sharding may be performed to produce several
82
+ # document shards. Each document shard contains this field to detail which
83
+ # shard it is.
84
+ # @!attribute [rw] shard_index
85
+ # @return [::Integer]
86
+ # The 0-based index of this shard.
87
+ # @!attribute [rw] shard_count
88
+ # @return [::Integer]
89
+ # Total number of shards.
90
+ # @!attribute [rw] text_offset
91
+ # @return [::Integer]
92
+ # The index of the first character in {::Google::Cloud::DocumentAI::V1::Document#text Document.text} in the overall
93
+ # document global text.
94
+ class ShardInfo
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+
99
+ # Annotation for common text style attributes. This adheres to CSS
100
+ # conventions as much as possible.
101
+ # @!attribute [rw] text_anchor
102
+ # @return [::Google::Cloud::DocumentAI::V1::Document::TextAnchor]
103
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
104
+ # @!attribute [rw] color
105
+ # @return [::Google::Type::Color]
106
+ # Text color.
107
+ # @!attribute [rw] background_color
108
+ # @return [::Google::Type::Color]
109
+ # Text background color.
110
+ # @!attribute [rw] font_weight
111
+ # @return [::String]
112
+ # Font weight. Possible values are normal, bold, bolder, and lighter.
113
+ # https://www.w3schools.com/cssref/pr_font_weight.asp
114
+ # @!attribute [rw] text_style
115
+ # @return [::String]
116
+ # Text style. Possible values are normal, italic, and oblique.
117
+ # https://www.w3schools.com/cssref/pr_font_font-style.asp
118
+ # @!attribute [rw] text_decoration
119
+ # @return [::String]
120
+ # Text decoration. Follows CSS standard.
121
+ # <text-decoration-line> <text-decoration-color> <text-decoration-style>
122
+ # https://www.w3schools.com/cssref/pr_text_text-decoration.asp
123
+ # @!attribute [rw] font_size
124
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Style::FontSize]
125
+ # Font size.
126
+ class Style
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+
130
+ # Font size with unit.
131
+ # @!attribute [rw] size
132
+ # @return [::Float]
133
+ # Font size for the text.
134
+ # @!attribute [rw] unit
135
+ # @return [::String]
136
+ # Unit for the font size. Follows CSS naming (in, px, pt, etc.).
137
+ class FontSize
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+ end
141
+ end
142
+
143
+ # A page in a {::Google::Cloud::DocumentAI::V1::Document Document}.
144
+ # @!attribute [rw] page_number
145
+ # @return [::Integer]
146
+ # 1-based index for current {::Google::Cloud::DocumentAI::V1::Document::Page Page} in a parent {::Google::Cloud::DocumentAI::V1::Document Document}.
147
+ # Useful when a page is taken out of a {::Google::Cloud::DocumentAI::V1::Document Document} for individual
148
+ # processing.
149
+ # @!attribute [rw] image
150
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Image]
151
+ # Rendered image for this page. This image is preprocessed to remove any
152
+ # skew, rotation, and distortions such that the annotation bounding boxes
153
+ # can be upright and axis-aligned.
154
+ # @!attribute [rw] transforms
155
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Matrix>]
156
+ # Transformation matrices that were applied to the original document image
157
+ # to produce {::Google::Cloud::DocumentAI::V1::Document::Page#image Page.image}.
158
+ # @!attribute [rw] dimension
159
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Dimension]
160
+ # Physical dimension of the page.
161
+ # @!attribute [rw] layout
162
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
163
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for the page.
164
+ # @!attribute [rw] detected_languages
165
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
166
+ # A list of detected languages together with confidence.
167
+ # @!attribute [rw] blocks
168
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Block>]
169
+ # A list of visually detected text blocks on the page.
170
+ # A block has a set of lines (collected into paragraphs) that have a common
171
+ # line-spacing and orientation.
172
+ # @!attribute [rw] paragraphs
173
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Paragraph>]
174
+ # A list of visually detected text paragraphs on the page.
175
+ # A collection of lines that a human would perceive as a paragraph.
176
+ # @!attribute [rw] lines
177
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Line>]
178
+ # A list of visually detected text lines on the page.
179
+ # A collection of tokens that a human would perceive as a line.
180
+ # @!attribute [rw] tokens
181
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Token>]
182
+ # A list of visually detected tokens on the page.
183
+ # @!attribute [rw] visual_elements
184
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::VisualElement>]
185
+ # A list of detected non-text visual elements e.g. checkbox,
186
+ # signature etc. on the page.
187
+ # @!attribute [rw] tables
188
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Table>]
189
+ # A list of visually detected tables on the page.
190
+ # @!attribute [rw] form_fields
191
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::FormField>]
192
+ # A list of visually detected form fields on the page.
193
+ class Page
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+
197
+ # Dimension for the page.
198
+ # @!attribute [rw] width
199
+ # @return [::Float]
200
+ # Page width.
201
+ # @!attribute [rw] height
202
+ # @return [::Float]
203
+ # Page height.
204
+ # @!attribute [rw] unit
205
+ # @return [::String]
206
+ # Dimension unit.
207
+ class Dimension
208
+ include ::Google::Protobuf::MessageExts
209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
210
+ end
211
+
212
+ # Rendered image contents for this page.
213
+ # @!attribute [rw] content
214
+ # @return [::String]
215
+ # Raw byte content of the image.
216
+ # @!attribute [rw] mime_type
217
+ # @return [::String]
218
+ # Encoding mime type for the image.
219
+ # @!attribute [rw] width
220
+ # @return [::Integer]
221
+ # Width of the image in pixels.
222
+ # @!attribute [rw] height
223
+ # @return [::Integer]
224
+ # Height of the image in pixels.
225
+ class Image
226
+ include ::Google::Protobuf::MessageExts
227
+ extend ::Google::Protobuf::MessageExts::ClassMethods
228
+ end
229
+
230
+ # Representation for transformation matrix, intended to be compatible and
231
+ # used with OpenCV format for image manipulation.
232
+ # @!attribute [rw] rows
233
+ # @return [::Integer]
234
+ # Number of rows in the matrix.
235
+ # @!attribute [rw] cols
236
+ # @return [::Integer]
237
+ # Number of columns in the matrix.
238
+ # @!attribute [rw] type
239
+ # @return [::Integer]
240
+ # This encodes information about what data type the matrix uses.
241
+ # For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
242
+ # of OpenCV primitive data types, please refer to
243
+ # https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
244
+ # @!attribute [rw] data
245
+ # @return [::String]
246
+ # The matrix data.
247
+ class Matrix
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+
252
+ # Visual element describing a layout unit on a page.
253
+ # @!attribute [rw] text_anchor
254
+ # @return [::Google::Cloud::DocumentAI::V1::Document::TextAnchor]
255
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
256
+ # @!attribute [rw] confidence
257
+ # @return [::Float]
258
+ # Confidence of the current {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} within context of the object this
259
+ # layout is for. e.g. confidence can be for a single token, a table,
260
+ # a visual element, etc. depending on context. Range [0, 1].
261
+ # @!attribute [rw] bounding_poly
262
+ # @return [::Google::Cloud::DocumentAI::V1::BoundingPoly]
263
+ # The bounding polygon for the {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout}.
264
+ # @!attribute [rw] orientation
265
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout::Orientation]
266
+ # Detected orientation for the {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout}.
267
+ class Layout
268
+ include ::Google::Protobuf::MessageExts
269
+ extend ::Google::Protobuf::MessageExts::ClassMethods
270
+
271
+ # Detected human reading orientation.
272
+ module Orientation
273
+ # Unspecified orientation.
274
+ ORIENTATION_UNSPECIFIED = 0
275
+
276
+ # Orientation is aligned with page up.
277
+ PAGE_UP = 1
278
+
279
+ # Orientation is aligned with page right.
280
+ # Turn the head 90 degrees clockwise from upright to read.
281
+ PAGE_RIGHT = 2
282
+
283
+ # Orientation is aligned with page down.
284
+ # Turn the head 180 degrees from upright to read.
285
+ PAGE_DOWN = 3
286
+
287
+ # Orientation is aligned with page left.
288
+ # Turn the head 90 degrees counterclockwise from upright to read.
289
+ PAGE_LEFT = 4
290
+ end
291
+ end
292
+
293
+ # A block has a set of lines (collected into paragraphs) that have a
294
+ # common line-spacing and orientation.
295
+ # @!attribute [rw] layout
296
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
297
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Block Block}.
298
+ # @!attribute [rw] detected_languages
299
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
300
+ # A list of detected languages together with confidence.
301
+ # @!attribute [rw] provenance
302
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance]
303
+ # The history of this annotation.
304
+ class Block
305
+ include ::Google::Protobuf::MessageExts
306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
307
+ end
308
+
309
+ # A collection of lines that a human would perceive as a paragraph.
310
+ # @!attribute [rw] layout
311
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
312
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Paragraph Paragraph}.
313
+ # @!attribute [rw] detected_languages
314
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
315
+ # A list of detected languages together with confidence.
316
+ # @!attribute [rw] provenance
317
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance]
318
+ # The history of this annotation.
319
+ class Paragraph
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+ end
323
+
324
+ # A collection of tokens that a human would perceive as a line.
325
+ # Does not cross column boundaries, can be horizontal, vertical, etc.
326
+ # @!attribute [rw] layout
327
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
328
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Line Line}.
329
+ # @!attribute [rw] detected_languages
330
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
331
+ # A list of detected languages together with confidence.
332
+ # @!attribute [rw] provenance
333
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance]
334
+ # The history of this annotation.
335
+ class Line
336
+ include ::Google::Protobuf::MessageExts
337
+ extend ::Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # A detected token.
341
+ # @!attribute [rw] layout
342
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
343
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Token Token}.
344
+ # @!attribute [rw] detected_break
345
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Token::DetectedBreak]
346
+ # Detected break at the end of a {::Google::Cloud::DocumentAI::V1::Document::Page::Token Token}.
347
+ # @!attribute [rw] detected_languages
348
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
349
+ # A list of detected languages together with confidence.
350
+ # @!attribute [rw] provenance
351
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance]
352
+ # The history of this annotation.
353
+ class Token
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+
357
+ # Detected break at the end of a {::Google::Cloud::DocumentAI::V1::Document::Page::Token Token}.
358
+ # @!attribute [rw] type
359
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Token::DetectedBreak::Type]
360
+ # Detected break type.
361
+ class DetectedBreak
362
+ include ::Google::Protobuf::MessageExts
363
+ extend ::Google::Protobuf::MessageExts::ClassMethods
364
+
365
+ # Enum to denote the type of break found.
366
+ module Type
367
+ # Unspecified break type.
368
+ TYPE_UNSPECIFIED = 0
369
+
370
+ # A single whitespace.
371
+ SPACE = 1
372
+
373
+ # A wider whitespace.
374
+ WIDE_SPACE = 2
375
+
376
+ # A hyphen that indicates that a token has been split across lines.
377
+ HYPHEN = 3
378
+ end
379
+ end
380
+ end
381
+
382
+ # Detected non-text visual elements e.g. checkbox, signature etc. on the
383
+ # page.
384
+ # @!attribute [rw] layout
385
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
386
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::VisualElement VisualElement}.
387
+ # @!attribute [rw] type
388
+ # @return [::String]
389
+ # Type of the {::Google::Cloud::DocumentAI::V1::Document::Page::VisualElement VisualElement}.
390
+ # @!attribute [rw] detected_languages
391
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
392
+ # A list of detected languages together with confidence.
393
+ class VisualElement
394
+ include ::Google::Protobuf::MessageExts
395
+ extend ::Google::Protobuf::MessageExts::ClassMethods
396
+ end
397
+
398
+ # A table representation similar to HTML table structure.
399
+ # @!attribute [rw] layout
400
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
401
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Table Table}.
402
+ # @!attribute [rw] header_rows
403
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Table::TableRow>]
404
+ # Header rows of the table.
405
+ # @!attribute [rw] body_rows
406
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Table::TableRow>]
407
+ # Body rows of the table.
408
+ # @!attribute [rw] detected_languages
409
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
410
+ # A list of detected languages together with confidence.
411
+ class Table
412
+ include ::Google::Protobuf::MessageExts
413
+ extend ::Google::Protobuf::MessageExts::ClassMethods
414
+
415
+ # A row of table cells.
416
+ # @!attribute [rw] cells
417
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::Table::TableCell>]
418
+ # Cells that make up this row.
419
+ class TableRow
420
+ include ::Google::Protobuf::MessageExts
421
+ extend ::Google::Protobuf::MessageExts::ClassMethods
422
+ end
423
+
424
+ # A cell representation inside the table.
425
+ # @!attribute [rw] layout
426
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
427
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for {::Google::Cloud::DocumentAI::V1::Document::Page::Table::TableCell TableCell}.
428
+ # @!attribute [rw] row_span
429
+ # @return [::Integer]
430
+ # How many rows this cell spans.
431
+ # @!attribute [rw] col_span
432
+ # @return [::Integer]
433
+ # How many columns this cell spans.
434
+ # @!attribute [rw] detected_languages
435
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
436
+ # A list of detected languages together with confidence.
437
+ class TableCell
438
+ include ::Google::Protobuf::MessageExts
439
+ extend ::Google::Protobuf::MessageExts::ClassMethods
440
+ end
441
+ end
442
+
443
+ # A form field detected on the page.
444
+ # @!attribute [rw] field_name
445
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
446
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for the {::Google::Cloud::DocumentAI::V1::Document::Page::FormField FormField} name. e.g. `Address`, `Email`,
447
+ # `Grand total`, `Phone number`, etc.
448
+ # @!attribute [rw] field_value
449
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Page::Layout]
450
+ # {::Google::Cloud::DocumentAI::V1::Document::Page::Layout Layout} for the {::Google::Cloud::DocumentAI::V1::Document::Page::FormField FormField} value.
451
+ # @!attribute [rw] name_detected_languages
452
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
453
+ # A list of detected languages for name together with confidence.
454
+ # @!attribute [rw] value_detected_languages
455
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Page::DetectedLanguage>]
456
+ # A list of detected languages for value together with confidence.
457
+ # @!attribute [rw] value_type
458
+ # @return [::String]
459
+ # If the value is non-textual, this field represents the type. Current
460
+ # valid values are:
461
+ # - blank (this indicates the field_value is normal text)
462
+ # - "unfilled_checkbox"
463
+ # - "filled_checkbox"
464
+ class FormField
465
+ include ::Google::Protobuf::MessageExts
466
+ extend ::Google::Protobuf::MessageExts::ClassMethods
467
+ end
468
+
469
+ # Detected language for a structural component.
470
+ # @!attribute [rw] language_code
471
+ # @return [::String]
472
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
473
+ # information, see
474
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
475
+ # @!attribute [rw] confidence
476
+ # @return [::Float]
477
+ # Confidence of detected language. Range [0, 1].
478
+ class DetectedLanguage
479
+ include ::Google::Protobuf::MessageExts
480
+ extend ::Google::Protobuf::MessageExts::ClassMethods
481
+ end
482
+ end
483
+
484
+ # A phrase in the text that is a known entity type, such as a person, an
485
+ # organization, or location.
486
+ # @!attribute [rw] text_anchor
487
+ # @return [::Google::Cloud::DocumentAI::V1::Document::TextAnchor]
488
+ # Optional. Provenance of the entity.
489
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
490
+ # @!attribute [rw] type
491
+ # @return [::String]
492
+ # Entity type from a schema e.g. `Address`.
493
+ # @!attribute [rw] mention_text
494
+ # @return [::String]
495
+ # Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.
496
+ # @!attribute [rw] mention_id
497
+ # @return [::String]
498
+ # Optional. Deprecated. Use `id` field instead.
499
+ # @!attribute [rw] confidence
500
+ # @return [::Float]
501
+ # Optional. Confidence of detected Schema entity. Range [0, 1].
502
+ # @!attribute [rw] page_anchor
503
+ # @return [::Google::Cloud::DocumentAI::V1::Document::PageAnchor]
504
+ # Optional. Represents the provenance of this entity wrt. the location on the
505
+ # page where it was found.
506
+ # @!attribute [rw] id
507
+ # @return [::String]
508
+ # Optional. Canonical id. This will be a unique value in the entity list
509
+ # for this document.
510
+ # @!attribute [rw] normalized_value
511
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Entity::NormalizedValue]
512
+ # Optional. Normalized entity value. Absent if the extracted value could not be
513
+ # converted or the type (e.g. address) is not supported for certain
514
+ # parsers. This field is also only populated for certain supported document
515
+ # types.
516
+ # @!attribute [rw] properties
517
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Entity>]
518
+ # Optional. Entities can be nested to form a hierarchical data structure representing
519
+ # the content in the document.
520
+ # @!attribute [rw] provenance
521
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance]
522
+ # Optional. The history of this annotation.
523
+ # @!attribute [rw] redacted
524
+ # @return [::Boolean]
525
+ # Optional. Whether the entity will be redacted for de-identification purposes.
526
+ class Entity
527
+ include ::Google::Protobuf::MessageExts
528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
529
+
530
+ # Parsed and normalized entity value.
531
+ # @!attribute [rw] money_value
532
+ # @return [::Google::Type::Money]
533
+ # Money value. See also:
534
+ # https://github.com/googleapis/googleapis/blob/master/google/type/money.proto
535
+ # @!attribute [rw] date_value
536
+ # @return [::Google::Type::Date]
537
+ # Date value. Includes year, month, day. See also:
538
+ # https://github.com/googleapis/googleapis/blob/master/google/type/date.proto
539
+ # @!attribute [rw] datetime_value
540
+ # @return [::Google::Type::DateTime]
541
+ # DateTime value. Includes date, time, and timezone. See also:
542
+ # https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto
543
+ # @!attribute [rw] address_value
544
+ # @return [::Google::Type::PostalAddress]
545
+ # Postal address. See also:
546
+ # https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto
547
+ # @!attribute [rw] boolean_value
548
+ # @return [::Boolean]
549
+ # Boolean value. Can be used for entities with binary values, or for
550
+ # checkboxes.
551
+ # @!attribute [rw] text
552
+ # @return [::String]
553
+ # Required. Normalized entity value stored as a string. This field is populated for
554
+ # supported document type (e.g. Invoice). For some entity types, one of
555
+ # respective 'structured_value' fields may also be populated.
556
+ #
557
+ # - Money/Currency type (`money_value`) is in the ISO 4217 text format.
558
+ # - Date type (`date_value`) is in the ISO 8601 text format.
559
+ # - Datetime type (`datetime_value`) is in the ISO 8601 text format.
560
+ class NormalizedValue
561
+ include ::Google::Protobuf::MessageExts
562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
563
+ end
564
+ end
565
+
566
+ # Relationship between {::Google::Cloud::DocumentAI::V1::Document::Entity Entities}.
567
+ # @!attribute [rw] subject_id
568
+ # @return [::String]
569
+ # Subject entity id.
570
+ # @!attribute [rw] object_id
571
+ # @return [::String]
572
+ # Object entity id.
573
+ # @!attribute [rw] relation
574
+ # @return [::String]
575
+ # Relationship description.
576
+ class EntityRelation
577
+ include ::Google::Protobuf::MessageExts
578
+ extend ::Google::Protobuf::MessageExts::ClassMethods
579
+ end
580
+
581
+ # Text reference indexing into the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
582
+ # @!attribute [rw] text_segments
583
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::TextAnchor::TextSegment>]
584
+ # The text segments from the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
585
+ # @!attribute [rw] content
586
+ # @return [::String]
587
+ # Contains the content of the text span so that users do
588
+ # not have to look it up in the text_segments.
589
+ class TextAnchor
590
+ include ::Google::Protobuf::MessageExts
591
+ extend ::Google::Protobuf::MessageExts::ClassMethods
592
+
593
+ # A text segment in the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}. The indices may be out of bounds
594
+ # which indicate that the text extends into another document shard for
595
+ # large sharded documents. See {::Google::Cloud::DocumentAI::V1::Document::ShardInfo#text_offset ShardInfo.text_offset}
596
+ # @!attribute [rw] start_index
597
+ # @return [::Integer]
598
+ # {::Google::Cloud::DocumentAI::V1::Document::TextAnchor::TextSegment TextSegment} start UTF-8 char index in the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
599
+ # @!attribute [rw] end_index
600
+ # @return [::Integer]
601
+ # {::Google::Cloud::DocumentAI::V1::Document::TextAnchor::TextSegment TextSegment} half open end UTF-8 char index in the
602
+ # {::Google::Cloud::DocumentAI::V1::Document#text Document.text}.
603
+ class TextSegment
604
+ include ::Google::Protobuf::MessageExts
605
+ extend ::Google::Protobuf::MessageExts::ClassMethods
606
+ end
607
+ end
608
+
609
+ # Referencing the visual context of the entity in the {::Google::Cloud::DocumentAI::V1::Document#pages Document.pages}.
610
+ # Page anchors can be cross-page, consist of multiple bounding polygons and
611
+ # optionally reference specific layout element types.
612
+ # @!attribute [rw] page_refs
613
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::PageAnchor::PageRef>]
614
+ # One or more references to visual page elements
615
+ class PageAnchor
616
+ include ::Google::Protobuf::MessageExts
617
+ extend ::Google::Protobuf::MessageExts::ClassMethods
618
+
619
+ # Represents a weak reference to a page element within a document.
620
+ # @!attribute [rw] page
621
+ # @return [::Integer]
622
+ # Required. Index into the {::Google::Cloud::DocumentAI::V1::Document#pages Document.pages} element, for example using
623
+ # [Document.pages][page_refs.page] to locate the related page element.
624
+ # @!attribute [rw] layout_type
625
+ # @return [::Google::Cloud::DocumentAI::V1::Document::PageAnchor::PageRef::LayoutType]
626
+ # Optional. The type of the layout element that is being referenced if any.
627
+ # @!attribute [rw] layout_id
628
+ # @return [::String]
629
+ # Optional. Deprecated. Use {::Google::Cloud::DocumentAI::V1::Document::PageAnchor::PageRef#bounding_poly PageRef.bounding_poly} instead.
630
+ # @!attribute [rw] bounding_poly
631
+ # @return [::Google::Cloud::DocumentAI::V1::BoundingPoly]
632
+ # Optional. Identifies the bounding polygon of a layout element on the page.
633
+ # @!attribute [rw] confidence
634
+ # @return [::Float]
635
+ # Optional. Confidence of detected page element, if applicable. Range [0, 1].
636
+ class PageRef
637
+ include ::Google::Protobuf::MessageExts
638
+ extend ::Google::Protobuf::MessageExts::ClassMethods
639
+
640
+ # The type of layout that is being referenced.
641
+ module LayoutType
642
+ # Layout Unspecified.
643
+ LAYOUT_TYPE_UNSPECIFIED = 0
644
+
645
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#blocks Page.blocks} element.
646
+ BLOCK = 1
647
+
648
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#paragraphs Page.paragraphs} element.
649
+ PARAGRAPH = 2
650
+
651
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#lines Page.lines} element.
652
+ LINE = 3
653
+
654
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#tokens Page.tokens} element.
655
+ TOKEN = 4
656
+
657
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#visual_elements Page.visual_elements} element.
658
+ VISUAL_ELEMENT = 5
659
+
660
+ # Refrrences a {::Google::Cloud::DocumentAI::V1::Document::Page#tables Page.tables} element.
661
+ TABLE = 6
662
+
663
+ # References a {::Google::Cloud::DocumentAI::V1::Document::Page#form_fields Page.form_fields} element.
664
+ FORM_FIELD = 7
665
+ end
666
+ end
667
+ end
668
+
669
+ # Structure to identify provenance relationships between annotations in
670
+ # different revisions.
671
+ # @!attribute [rw] revision
672
+ # @return [::Integer]
673
+ # The index of the revision that produced this element.
674
+ # @!attribute [rw] id
675
+ # @return [::Integer]
676
+ # The Id of this operation. Needs to be unique within the scope of the
677
+ # revision.
678
+ # @!attribute [rw] parents
679
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Provenance::Parent>]
680
+ # References to the original elements that are replaced.
681
+ # @!attribute [rw] type
682
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Provenance::OperationType]
683
+ # The type of provenance operation.
684
+ class Provenance
685
+ include ::Google::Protobuf::MessageExts
686
+ extend ::Google::Protobuf::MessageExts::ClassMethods
687
+
688
+ # Structure for referencing parent provenances. When an element replaces
689
+ # one of more other elements parent references identify the elements that
690
+ # are replaced.
691
+ # @!attribute [rw] revision
692
+ # @return [::Integer]
693
+ # The index of the [Document.revisions] identifying the parent revision.
694
+ # @!attribute [rw] id
695
+ # @return [::Integer]
696
+ # The id of the parent provenance.
697
+ class Parent
698
+ include ::Google::Protobuf::MessageExts
699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
700
+ end
701
+
702
+ # If a processor or agent does an explicit operation on existing elements.
703
+ module OperationType
704
+ # Operation type unspecified.
705
+ OPERATION_TYPE_UNSPECIFIED = 0
706
+
707
+ # Add an element. Implicit if no `parents` are set for the provenance.
708
+ ADD = 1
709
+
710
+ # The element is removed. No `parents` should be set.
711
+ REMOVE = 2
712
+
713
+ # Explicitly replaces the element(s) identified by `parents`.
714
+ REPLACE = 3
715
+
716
+ # Element is requested for human review.
717
+ EVAL_REQUESTED = 4
718
+
719
+ # Element is reviewed and approved at human review, confidence will be
720
+ # set to 1.0.
721
+ EVAL_APPROVED = 5
722
+
723
+ # Element is skipped in the validation process.
724
+ EVAL_SKIPPED = 6
725
+ end
726
+ end
727
+
728
+ # Contains past or forward revisions of this document.
729
+ # @!attribute [rw] agent
730
+ # @return [::String]
731
+ # If the change was made by a person specify the name or id of that
732
+ # person.
733
+ # @!attribute [rw] processor
734
+ # @return [::String]
735
+ # If the annotation was made by processor identify the processor by its
736
+ # resource name.
737
+ # @!attribute [rw] id
738
+ # @return [::String]
739
+ # Id of the revision. Unique within the context of the document.
740
+ # @!attribute [rw] parent
741
+ # @return [::Array<::Integer>]
742
+ # The revisions that this revision is based on. This can include one or
743
+ # more parent (when documents are merged.) This field represents the
744
+ # index into the `revisions` field.
745
+ # @!attribute [rw] create_time
746
+ # @return [::Google::Protobuf::Timestamp]
747
+ # The time that the revision was created.
748
+ # @!attribute [rw] human_review
749
+ # @return [::Google::Cloud::DocumentAI::V1::Document::Revision::HumanReview]
750
+ # Human Review information of this revision.
751
+ class Revision
752
+ include ::Google::Protobuf::MessageExts
753
+ extend ::Google::Protobuf::MessageExts::ClassMethods
754
+
755
+ # Human Review information of the document.
756
+ # @!attribute [rw] state
757
+ # @return [::String]
758
+ # Human review state. e.g. `requested`, `succeeded`, `rejected`.
759
+ # @!attribute [rw] state_message
760
+ # @return [::String]
761
+ # A message providing more details about the current state of processing.
762
+ # For example, the rejection reason when the state is `rejected`.
763
+ class HumanReview
764
+ include ::Google::Protobuf::MessageExts
765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
766
+ end
767
+ end
768
+
769
+ # This message is used for text changes aka. OCR corrections.
770
+ # @!attribute [rw] text_anchor
771
+ # @return [::Google::Cloud::DocumentAI::V1::Document::TextAnchor]
772
+ # Provenance of the correction.
773
+ # Text anchor indexing into the {::Google::Cloud::DocumentAI::V1::Document#text Document.text}. There can only be a
774
+ # single `TextAnchor.text_segments` element. If the start and
775
+ # end index of the text segment are the same, the text change is inserted
776
+ # before that index.
777
+ # @!attribute [rw] changed_text
778
+ # @return [::String]
779
+ # The text that replaces the text identified in the `text_anchor`.
780
+ # @!attribute [rw] provenance
781
+ # @return [::Array<::Google::Cloud::DocumentAI::V1::Document::Provenance>]
782
+ # The history of this annotation.
783
+ class TextChange
784
+ include ::Google::Protobuf::MessageExts
785
+ extend ::Google::Protobuf::MessageExts::ClassMethods
786
+ end
787
+ end
788
+ end
789
+ end
790
+ end
791
+ end