> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Access to Table Hypothesis Properties from Code

> Learn how to access table hypothesis properties programmatically using TableHypothesis, OnePageTableHypothesis, and TableHypColumn objects.

To call a hypothesis of a multi-page table element, you should use a **TableHypothesis** object. It has the following parameters:

## TableHypothesis Object

| Parameter                                     | Description                                  |
| :-------------------------------------------- | :------------------------------------------- |
| Int SubTablesCount()                          | The number of single-page tables.            |
| OnePageTableHypothesis LastSubTable()         | The last detected single-page table.         |
| OnePageTableHypothesis SubTable( Int number ) | The single-page table with the given number. |

## OnePageTableHypothesis Object

The **OnePageTableHypothesis** object is used to call a hypothesis of the single-page table. It has the following parameters:

| Parameter                                       | Description                                                                                                                                          |
| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
| Hypothesis Body()                               | The hypothesis of the table body.                                                                                                                    |
| Hypothesis Footer()                             | The hypothesis of the table footer.                                                                                                                  |
| Hypothesis Header()                             | The hypothesis of the table header.                                                                                                                  |
| Int ColumnsCount()                              | The number of detected columns.                                                                                                                      |
| Int ColumnIndex( String columnName )            | The index that the column with the name columnName has in the current table hypothesis. Indexing starts at 0. Returns -1 if the column wasn't found. |
| Int RowsCount()                                 | The number of detected rows.                                                                                                                         |
| Logic HasColumn( String columnName )            | Specifies whether the hypothesis contains a column with the name columnName.                                                                         |
| Logic HasBody()                                 | Specifies whether the table hypothesis contains a non-empty body.                                                                                    |
| Logic HasFooter()                               | Specifies whether the table hypothesis contains a non-empty footer.                                                                                  |
| Logic HasHeader()                               | Specifies whether the table hypothesis contains a non-empty header.                                                                                  |
| Rect CellRect( Int columnIndex, Int rowIndex )  | The rectangle that corresponds to the table cell in the column with index columnIndex and in the row with index rowIndex. Indexing starts from 0.    |
| Rect CellRect( String columnName, Int rowInex ) | The rectangle that corresponds to the table cell in the column with name columnName and in the row with index rowIndex. Indexing starts from 0.      |
| Rect RowRect( Int rowIndex )                    | The rectangle that corresponds to the table row with index rowIndex. Indexing starts from 0.                                                         |
| TableHypColumn Column( Int columnIndex )        | The hypothesis of a table column for the column with the given index. Indexing starts from 0.                                                        |
| TableHypColumn Column( String columnName )      | The hypothesis of a table column for the column with the given name.                                                                                 |

## TableHypColumn Object

The **TableHypColumn** object is used to call a hypothesis of the table column. A variable of this type can only be created by using a Let expression. It has the following parameters:

| Parameter                         | Description                                                       |
| :-------------------------------- | :---------------------------------------------------------------- |
| Distance Width()                  | The width of the column.                                          |
| Logic HasLeftSeparator()          | Shows whether the column has a black separator on the left.       |
| Logic HasLeftSeparatorInHeader()  | Shows whether the column has a black separator on the right.      |
| Logic HasRightSeparator()         | Shows whether the column name has a black separator on the left.  |
| Logic HasRightSeparatorInHeader() | Shows whether the column name has a black separator on the right. |
| String Name()                     | The column name.                                                  |
| XCoordinate Left()                | The left boundary of the column.                                  |
| XCoordinate Right()               | The right boundary of the column.                                 |
