Class: Google::Cloud::DocumentAI::V1beta3::Document::Page

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/documentai/v1beta3/document.rb

Overview

A page in a Document.

Defined Under Namespace

Classes: Block, DetectedLanguage, Dimension, FormField, Image, Layout, Line, Matrix, Paragraph, Symbol, Table, Token, VisualElement

Instance Attribute Summary collapse

Instance Attribute Details

#blocks::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block>

Returns A list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#detected_languages::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>

Returns A list of detected languages together with confidence.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#dimension::Google::Cloud::DocumentAI::V1beta3::Document::Page::Dimension

Returns Physical dimension of the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#form_fields::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField>

Returns A list of visually detected form fields on the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#image::Google::Cloud::DocumentAI::V1beta3::Document::Page::Image

Returns Rendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#layout::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout

Returns Layout for the page.



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#lines::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line>

Returns A list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#page_number::Integer

Returns 1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.

Returns:

  • (::Integer)

    1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#paragraphs::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph>

Returns A list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#provenance::Google::Cloud::DocumentAI::V1beta3::Document::Provenance

Returns The history of this page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#symbols::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol>

Returns A list of visually detected symbols on the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#tables::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table>

Returns A list of visually detected tables on the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#tokens::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token>

Returns A list of visually detected tokens on the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#transforms::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Matrix>

Returns Transformation matrices that were applied to the original document image to produce Page.image.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#visual_elements::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement>

Returns A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'proto_docs/google/cloud/documentai/v1beta3/document.rb', line 209

class Page
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Dimension for the page.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Page width.
  # @!attribute [rw] height
  #   @return [::Float]
  #     Page height.
  # @!attribute [rw] unit
  #   @return [::String]
  #     Dimension unit.
  class Dimension
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Rendered image contents for this page.
  # @!attribute [rw] content
  #   @return [::String]
  #     Raw byte content of the image.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     Encoding mime type for the image.
  # @!attribute [rw] width
  #   @return [::Integer]
  #     Width of the image in pixels.
  # @!attribute [rw] height
  #   @return [::Integer]
  #     Height of the image in pixels.
  class Image
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Representation for transformation matrix, intended to be compatible and
  # used with OpenCV format for image manipulation.
  # @!attribute [rw] rows
  #   @return [::Integer]
  #     Number of rows in the matrix.
  # @!attribute [rw] cols
  #   @return [::Integer]
  #     Number of columns in the matrix.
  # @!attribute [rw] type
  #   @return [::Integer]
  #     This encodes information about what data type the matrix uses.
  #     For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list
  #     of OpenCV primitive data types, please refer to
  #     https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html
  # @!attribute [rw] data
  #   @return [::String]
  #     The matrix data.
  class Matrix
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Visual element describing a layout unit on a page.
  # @!attribute [rw] text_anchor
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::TextAnchor]
  #     Text anchor indexing into the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document#text Document.text}.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of the current
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} within
  #     context of the object this layout is for. e.g. confidence can be for a
  #     single token, a table, a visual element, etc. depending on context.
  #     Range [0, 1].
  # @!attribute [rw] bounding_poly
  #   @return [::Google::Cloud::DocumentAI::V1beta3::BoundingPoly]
  #     The bounding polygon for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  # @!attribute [rw] orientation
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout::Orientation]
  #     Detected orientation for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout}.
  class Layout
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected human reading orientation.
    module Orientation
      # Unspecified orientation.
      ORIENTATION_UNSPECIFIED = 0

      # Orientation is aligned with page up.
      PAGE_UP = 1

      # Orientation is aligned with page right.
      # Turn the head 90 degrees clockwise from upright to read.
      PAGE_RIGHT = 2

      # Orientation is aligned with page down.
      # Turn the head 180 degrees from upright to read.
      PAGE_DOWN = 3

      # Orientation is aligned with page left.
      # Turn the head 90 degrees counterclockwise from upright to read.
      PAGE_LEFT = 4
    end
  end

  # A block has a set of lines (collected into paragraphs) that have a
  # common line-spacing and orientation.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Block Block}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class Block
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of lines that a human would perceive as a paragraph.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Paragraph Paragraph}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Paragraph
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A collection of tokens that a human would perceive as a line.
  # Does not cross column boundaries, can be horizontal, vertical, etc.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Line Line}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Line
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A detected token.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_break
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak]
  #     Detected break at the end of a
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The  history of this annotation.
  class Token
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Detected break at the end of a
    # {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token Token}.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Token::DetectedBreak::Type]
    #     Detected break type.
    class DetectedBreak
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Enum to denote the type of break found.
      module Type
        # Unspecified break type.
        TYPE_UNSPECIFIED = 0

        # A single whitespace.
        SPACE = 1

        # A wider whitespace.
        WIDE_SPACE = 2

        # A hyphen that indicates that a token has been split across lines.
        HYPHEN = 3
      end
    end
  end

  # A detected symbol.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Symbol Symbol}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Symbol
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected non-text visual elements e.g. checkbox, signature etc. on the
  # page.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] type
  #   @return [::String]
  #     Type of the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::VisualElement VisualElement}.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class VisualElement
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A table representation similar to HTML table structure.
  # @!attribute [rw] layout
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table Table}.
  # @!attribute [rw] header_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Header rows of the table.
  # @!attribute [rw] body_rows
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableRow>]
  #     Body rows of the table.
  # @!attribute [rw] detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages together with confidence.
  class Table
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A row of table cells.
    # @!attribute [rw] cells
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell>]
    #     Cells that make up this row.
    class TableRow
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # A cell representation inside the table.
    # @!attribute [rw] layout
    #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for
    #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Table::TableCell TableCell}.
    # @!attribute [rw] row_span
    #   @return [::Integer]
    #     How many rows this cell spans.
    # @!attribute [rw] col_span
    #   @return [::Integer]
    #     How many columns this cell spans.
    # @!attribute [rw] detected_languages
    #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
    #     A list of detected languages together with confidence.
    class TableCell
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A form field detected on the page.
  # @!attribute [rw] field_name
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.
  # @!attribute [rw] field_value
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout]
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::Layout Layout} for the
  #     {::Google::Cloud::DocumentAI::V1beta3::Document::Page::FormField FormField}
  #     value.
  # @!attribute [rw] name_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for name together with confidence.
  # @!attribute [rw] value_detected_languages
  #   @return [::Array<::Google::Cloud::DocumentAI::V1beta3::Document::Page::DetectedLanguage>]
  #     A list of detected languages for value together with confidence.
  # @!attribute [rw] value_type
  #   @return [::String]
  #     If the value is non-textual, this field represents the type. Current
  #     valid values are:
  #     - blank (this indicates the field_value is normal text)
  #     - "unfilled_checkbox"
  #     - "filled_checkbox"
  # @!attribute [rw] provenance
  #   @return [::Google::Cloud::DocumentAI::V1beta3::Document::Provenance]
  #     The history of this annotation.
  class FormField
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Detected language for a structural component.
  # @!attribute [rw] language_code
  #   @return [::String]
  #     The BCP-47 language code, such as "en-US" or "sr-Latn". For more
  #     information, see
  #     https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  # @!attribute [rw] confidence
  #   @return [::Float]
  #     Confidence of detected language. Range [0, 1].
  class DetectedLanguage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end