Skip to main content
To adjust table properties, use the Search Conditions section of the Code Editor. Available properties are described below:

Column Search Parameters

ParameterDescription
Void AddHeaderKeyWord( String keyWord, String columnName, Real omissionQuality = worstQuality, Logic wholeWordMode = false, Logic multiLine = false )Specifies the keyword for the column name.
Void AddHeaderKeyHypothesis( Hypothesis hypothesis, String columnName )Specifies the column name by means of the detected hypothesis.
Void AddHeaderKeyHypothesis( XInterval left, YInterval top, XInterval right, YInterval bottom, String columnName )Specifies the coordinates of the column name.
Void AddColumnType( TableColumnType type, String columnName, String regExp = emptyString )Specifies the column type. The third parameter must only be specified if the column type is a regular expression. Possible values of TableColumnType:
ColumnType_Text—Text data type
ColumnType_Currency—Amount of money data type
ColumnType_Date—Date data type
ColumnType_RegExp—regular expression
ColumnType_Number—Number data type
Void ColumnOmissionQuality( Real quality, String columnName )If fixed column orders are used, this parameter sets the penalty for the hypotheses, defined as the coefficient (a number from 0 to 1) by which the quality of the hypothesis will be multiplied if the column specified in the fixed column order isn’t detected. The default value is 0.9.
Void MissingContentPenalty( Real quality, String columnName )Sets the penalty for the hypotheses, defined as the coefficient (a number from 0 to 1) by which the quality of the hypothesis will be multiplied if the actual data type in the column doesn’t coincide with the data type specified by the user. If the parameter isn’t set, its default value is 0.98. If column order rules are used, it specifies the penalty for the absence of the column in the table.
Void ColumnBounds( XCoordinate left, XCoordinate right, String columnName )Sets the right and left boundaries of the search area for the column.
Void ExactColumnBorders( XCoordinate left, XCoordinate right, String columnName )Sets the exact column boundaries. This parameter can be used to search for a table when the location of some (or all) of the columns is known in advance.
Void AddColumnContent( Hypothesis hypothesis, String columnName )Specifies the column content by means of the detected hypothesis.
Void AddColumnContent( XInterval, XInterval, String )Specifies the column content by setting the right and left boundaries of a column.

Parameters Setting the Column Order

ParameterDescription
Void AddPossibleColumnsOrder( String orderName, StringArray columnNames )Specifies a variant of fixed column order.
Void ColumnsRelation( StringArray columnNames )Specifies a rule for the column order.

Header Search Parameters

ParameterDescription
Void HasHeader( Logic )Specifies whether the activity should look for a header.
Void HeaderOptional( Real q1, Real q2 )Specifies whether the header is optional, similarly to the Void Optional ( Real q1, Real q2 ) function for elements.
Void HeaderSearchArea( Rect )Specifies the search rectangle for the header. If this function is used, the search area of the header will be calculated as the intersection of this rectangle and the one enclosing the search area of the whole table.
Void MaxHeaderHypothesesCount( Int )Sets the maximum number of hypotheses to be generated during header search.
Void MinHeaderKeyElements( Int )Sets the minimum number of key elements required to detect the header. The default value is 2.
Void ExtendHeaderLocalization( XInterval, YInterval, XInterval, YInterval )Extends the area regarded as the header. For example, it can be used to discard the line of unwanted information located between the header and the body of the table.
ParameterDescription
Void HasFooter( Logic has = true )Specifies whether the activity should look for the footer.
Void FooterOptional( Real q1, Real q2 )Specifies whether the footer is optional, similarly to the Void Optional ( Real q1, Real q2 ) function for elements.
Void FooterSearchArea( Rect )Specifies the search rectangle for the footer. If this function is used, the footer search area will be calculated as the intersection of this rectangle and the one enclosing the search area of the whole table.
Void FooterHasTopSeparator()Specifies that there is a separator between the footer and the body of the table. The separator can be a part of a table boundary.
Void FooterWholeWordMode ( Logic wholeWordMode = true )This flag is used when looking for a footer based on keywords. If this flag is set to True, hypotheses made up of only word parts are discarded. The default setting is False.
Void FooterNearestToTop ( Logic )This flag is used when looking for a footer based on keywords. If this flag is set to True, the activity selects the topmost candidate and discards the rest. If this flag is set to False, the activity considers all the possible candidates. The quality of the footer contributes to the quality of the table and then the table hypothesis with the highest quality is selected. The default setting is True.
Void AddFooterKeyWord( String keyWord )Specifies a keyword for the footer of the table.
Void AddFooterKeyHypothesis( Hypothesis hypothesis )Specifies the footer of the table by means of the detected hypothesis.
Void AddFooterKeyHypothesis( XInterval, YInterval, XInterval, YInterval )Specifies the coordinates of the footer of the table.

Body Search Parameters

ParameterDescription
Void DontFindBody()Allows skipping the body search. Used for debugging.
Void BodyOptional( Real q1, Real q2 )Specifies whether the body is optional, similarly to the Void Optional ( Real q1, Real q2 ) function for elements.
Void IgnoreVerticalSeparators()Ignores vertical separators in the body of the table when dividing the table into columns (by default, separators are taken into account).
Void IgnoreSeparatorsFromHeader()Ignores vertical separators in the header of the table when dividing the table into columns (by default, vertical separators are taken into account).
Void AutoDetectLeftAndRight( Logic )Enables automatic detection of the left and right boundaries of the table. The default setting is True.
Void AutoDetectTopAndBottom( Logic )Enables automatic detection of the top and bottom boundaries of the table. The default setting is True. If the flag is set to False, the entire text inside the search area of the table element is used.

Rows Detection Parameters

ParameterDescription
Void SingleLineTable( Logic )Tells the activity that each line of text must correspond to one row in the table.
Void SingleLineMasterColumn( Logic )Tells the activity that each line of text must correspond to one row in the master column of the table.
Void MaxRowVerticalGap( Distance )Specifies the maximum vertical distance between two rows in the table. If the specified distance is exceeded, this means the end of the body of the table. By default, this distance isn’t limited.
Void MinRowVerticalGap( Distance )Specifies the minimum vertical distance between two rows in the table. If the distance is smaller than the specified distance, the rows are merged. The default value is 0.
Void MaxMasterColumnRowGap( Distance )Specifies the maximum vertical distance between two rows in the master column of the table. If the specified distance is exceeded, this means the end of the body of the table. By default, this distance isn’t limited.
Void MinMasterColumnRowGap( Distance )Specifies the minimum vertical distance between two table rows in a particular column. If the distance is smaller than specified, the rows are merged. The default distance is 0.
Void IgnoreHorizontalSeparators()Ignores horizontal separators when dividing the table into rows.
Void DivideRowsBySeparators()Detects rows relying on separators only and ignoring text.
Void DivideRowsByMasterColumn( String columnName )Tells the activity to use the text of the column when dividing the table into rows. This function can be called multiple times. If a table on an image doesn’t have the required column, the column from the next call of the function is used, etc. If all the columns are unavailable, the rows are detected in the whole table.
Void MasterColumnTextAlignment( TextAlignmentInTableCell )Specifies text alignment in a table cell in the Master Column. Possible values: TextAlignment_CellTop, TextAlignment_CellBottom. Example: MasterColumnTextAlignment: TextAlignment_CellBottom; - the text is aligned to the bottom border of the cell.
Void AddStopWord( String )Specifies the words for which separate rows mustn’t be drawn.
Void RowSplitters( YCoordinateArray, Logic isBodyTopIncluded = true, Logic isBodyBottomIncluded = true )Specifies separators to divide the table into rows: isBodyTopIncluded == true - specifies the top of the table body, isBodyBottomIncluded == true - specifies the bottom of the table body, isBodyTopIncluded == false - the top of the table body is detected automatically, isBodyBottomIncluded == false - the bottom of the table body is detected automatically. Any specified separators outside the table search area are ignored. Example: let yArray = RepeatingGroup.AllInstances.GetYArray(1); RowSplitters( yArray );

Multi-Page Table Parameters

ParameterDescription
Void HeaderOnEachPage( Logic has = true )Specifies that the table header occurs on every page (at the beginning of each one-page sub-table).
Void AddHeaderKeyHypotheses( HypothesisInstances, String columnName )Specifies a column name on multiple pages by means of a set of hypotheses for a subelement of a repeating group.
Void FooterOnEachPage( Logic has = true )Specifies that the table footer occurs on every page.
Void AddFooterKeyHypotheses( HypothesisInstances )Specifies a table footer on multiple pages by means of a set of hypotheses for a subelement of a repeating group.
Void PreviousInstances( TableHypothesisInstances )Specifies the previous table instances if the table is inside a repeating group. It’s assumed that the direction of instances is top to bottom, column boundaries have no shifts within the same page and may be slightly shifted horizontally between pages. The previous instances are used to search for or improve the search for columns if the table has no header or if the header isn’t detected.