/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A An array of
* For more information, see How
* Amazon Textract Works.Block represents items that are recognized in a document
* within a group of pixels close to each other. The information returned in a
* Block object depends on the type of operation. In text detection
* for documents (for example DetectDocumentText), you get information about
* the detected words and lines of text. In text analysis (for example
* AnalyzeDocument), you can also get information about the fields, tables,
* and selection elements that are detected in the document.Block objects is returned by both synchronous and asynchronous
* operations. In synchronous operations, such as DetectDocumentText, the
* array of Block objects is the entire set of results. In
* asynchronous operations, such as GetDocumentAnalysis, the array is
* returned over one or more responses.See Also:
AWS API
* Reference
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The type of text item that's recognized. In operations for text detection, * the following types are returned:
PAGE - Contains a
* list of the LINE Block objects that are detected on a document
* page.
WORD - A word detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
In text analysis * operations, the following types are returned:
PAGE -
* Contains a list of child Block objects that are detected on a
* document page.
KEY_VALUE_SET - Stores the KEY and
* VALUE Block objects for linked text that's detected on a document
* page. Use the EntityType field to determine if a KEY_VALUE_SET
* object is a KEY Block object or a VALUE Block object.
*
WORD - A word that's detected on a document page. A * word is one or more ISO basic Latin script characters that aren't separated by * spaces.
LINE - A string of tab-delimited, contiguous * words that are detected on a document page.
TABLE - A * table that's detected on a document page. A table is grid-based information with * two or more rows or columns, with a cell span of one row and one column each. *
CELL - A cell within a detected table. The cell is * the parent of the block that contains the text in the cell.
* SELECTION_ELEMENT - A selection element such as an option button (radio
* button) or a check box that's detected on a document page. Use the value of
* SelectionStatus to determine the status of the selection
* element.
The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.
*/ inline double GetConfidence() const{ return m_confidence; } /** *The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.
*/ inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } /** *The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.
*/ inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } /** *The confidence score that Amazon Textract has in the accuracy of the * recognized text and the accuracy of the geometry points around the recognized * text.
*/ inline Block& WithConfidence(double value) { SetConfidence(value); return *this;} /** *The word or line of text that's recognized by Amazon Textract.
*/ inline const Aws::String& GetText() const{ return m_text; } /** *The word or line of text that's recognized by Amazon Textract.
*/ inline bool TextHasBeenSet() const { return m_textHasBeenSet; } /** *The word or line of text that's recognized by Amazon Textract.
*/ inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } /** *The word or line of text that's recognized by Amazon Textract.
*/ inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } /** *The word or line of text that's recognized by Amazon Textract.
*/ inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } /** *The word or line of text that's recognized by Amazon Textract.
*/ inline Block& WithText(const Aws::String& value) { SetText(value); return *this;} /** *The word or line of text that's recognized by Amazon Textract.
*/ inline Block& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} /** *The word or line of text that's recognized by Amazon Textract.
*/ inline Block& WithText(const char* value) { SetText(value); return *this;} /** *The row in which a table cell is located. The first row position is 1.
* RowIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The row in which a table cell is located. The first row position is 1.
* RowIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The row in which a table cell is located. The first row position is 1.
* RowIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The row in which a table cell is located. The first row position is 1.
* RowIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The column in which a table cell appears. The first column position is 1.
* ColumnIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The column in which a table cell appears. The first column position is 1.
* ColumnIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The column in which a table cell appears. The first column position is 1.
* ColumnIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The column in which a table cell appears. The first column position is 1.
* ColumnIndex isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of rows that a table cell spans. Currently this value is always 1,
* even if the number of rows spanned is greater than 1. RowSpan isn't
* returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of rows that a table cell spans. Currently this value is always 1,
* even if the number of rows spanned is greater than 1. RowSpan isn't
* returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of rows that a table cell spans. Currently this value is always 1,
* even if the number of rows spanned is greater than 1. RowSpan isn't
* returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of rows that a table cell spans. Currently this value is always 1,
* even if the number of rows spanned is greater than 1. RowSpan isn't
* returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of columns that a table cell spans. Currently this value is always
* 1, even if the number of columns spanned is greater than 1.
* ColumnSpan isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of columns that a table cell spans. Currently this value is always
* 1, even if the number of columns spanned is greater than 1.
* ColumnSpan isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of columns that a table cell spans. Currently this value is always
* 1, even if the number of columns spanned is greater than 1.
* ColumnSpan isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The number of columns that a table cell spans. Currently this value is always
* 1, even if the number of columns spanned is greater than 1.
* ColumnSpan isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline const Geometry& GetGeometry() const{ return m_geometry; } /** *The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } /** *The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline void SetGeometry(const Geometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } /** *The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline void SetGeometry(Geometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } /** *The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline Block& WithGeometry(const Geometry& value) { SetGeometry(value); return *this;} /** *The location of the recognized text on the image. It includes an * axis-aligned, coarse bounding box that surrounds the text, and a finer-grain * polygon for more accurate spatial information.
*/ inline Block& WithGeometry(Geometry&& value) { SetGeometry(std::move(value)); return *this;} /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline Block& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline Block& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The identifier for the recognized text. The identifier is only unique for a * single operation.
*/ inline Block& WithId(const char* value) { SetId(value); return *this;} /** *A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
A list of child blocks of the current block. For example, a LINE object has * child blocks for each WORD block that's part of the line of text. There aren't * Relationship objects in the list for relationships that don't exist, such as * when the current block has no child blocks. The list size can be the * following:
0 - The block has no child blocks.
1 - The block has child blocks.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The type of entity. The following can be returned:
* KEY - An identifier for a field on the document.
* VALUE - The field text.
EntityTypes
* isn't returned by DetectDocumentText and
* GetDocumentTextDetection.
The selection status of a selection element, such as an option button or * check box.
*/ inline const SelectionStatus& GetSelectionStatus() const{ return m_selectionStatus; } /** *The selection status of a selection element, such as an option button or * check box.
*/ inline bool SelectionStatusHasBeenSet() const { return m_selectionStatusHasBeenSet; } /** *The selection status of a selection element, such as an option button or * check box.
*/ inline void SetSelectionStatus(const SelectionStatus& value) { m_selectionStatusHasBeenSet = true; m_selectionStatus = value; } /** *The selection status of a selection element, such as an option button or * check box.
*/ inline void SetSelectionStatus(SelectionStatus&& value) { m_selectionStatusHasBeenSet = true; m_selectionStatus = std::move(value); } /** *The selection status of a selection element, such as an option button or * check box.
*/ inline Block& WithSelectionStatus(const SelectionStatus& value) { SetSelectionStatus(value); return *this;} /** *The selection status of a selection element, such as an option button or * check box.
*/ inline Block& WithSelectionStatus(SelectionStatus&& value) { SetSelectionStatus(std::move(value)); return *this;} /** *The page on which a block was detected. Page is returned by
* asynchronous operations. Page values greater than 1 are only returned for
* multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if
* it contains multiple document pages, is considered to be a single-page document.
* The value of Page is always 1. Synchronous operations don't return
* Page because every input document is considered to be a single-page
* document.
The page on which a block was detected. Page is returned by
* asynchronous operations. Page values greater than 1 are only returned for
* multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if
* it contains multiple document pages, is considered to be a single-page document.
* The value of Page is always 1. Synchronous operations don't return
* Page because every input document is considered to be a single-page
* document.
The page on which a block was detected. Page is returned by
* asynchronous operations. Page values greater than 1 are only returned for
* multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if
* it contains multiple document pages, is considered to be a single-page document.
* The value of Page is always 1. Synchronous operations don't return
* Page because every input document is considered to be a single-page
* document.
The page on which a block was detected. Page is returned by
* asynchronous operations. Page values greater than 1 are only returned for
* multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if
* it contains multiple document pages, is considered to be a single-page document.
* The value of Page is always 1. Synchronous operations don't return
* Page because every input document is considered to be a single-page
* document.