This filter can be used to optimize the comparison of tables with visual borders. The filter will detect the original structure of the table and rearrange the content so that the content will be compared by cell.
Requirement: This filter will only detect a table, if
In case a table does not fit onto a single page it is common to repeat the table header after the page break. Usually i-net PDFC tends to mark such repeated headers as differences since it's content that does not belong to the table data. With this option enabled, the filter will exclude any table header from the comparison that is identical to the header of the last table on the previous page.
By default, the complete content of each row is used to establish a match for comparison. With the option “First column as key”, only the value in the first column is used as the key for matching rows. When “Auto-detect” is selected, the first 1 to 3 columns are automatically used as the key – provided there are no duplicates within each individual table in those columns.
The GUI documentation for //Optimize Basic Tables// describes the current profile sidebar of i-net PDFC. The options under this filter are enabled only when Optimize Basic Tables is selected.
The filter is enabled by adding the identifier BASELINETABLE to the comma-separated FILTERS list. The related profile properties are:
| Raw key | Value or range | Meaning and default |
|---|---|---|
FILTERS | contains BASELINETABLE | Enables BaselineTable processing. If the identifier is absent, the filter is disabled. |
IGNORE_REPEATING_HEADER | true or false | Filters repeated table headers from the comparison data. The default value is true. |
TABLE_HEADER_DIFF_RATIO | Floating-point value from 0.0 to 1.0 | Defines the relative tolerance for detecting repeated table headers. The default value is 0.0. The property is evaluated only when IGNORE_REPEATING_HEADER is enabled. It is not exposed as a separate choice in the current profile sidebar. |
TABLE_ID_COLUMN | false, true, auto, 1 through 10 | Controls table-row matching. The default value is false. The current profile sidebar exposes only false, true, and auto; the numeric raw values are not offered there. |
TABLE_USE_TATR | true or false | Enables optional TATR table detection. The default value is false. |
The current choice labels and their raw values are:
Raw value in TABLE_ID_COLUMN | Sidebar choice | Mapping |
|---|---|---|
false | Whole table row | The complete table row is used as the comparison key. |
true | First column as key | The first column is used as the key for matching table rows. |
auto | Auto-detect | The suitable key type is detected automatically for each table. |
The Filter repeating headers checkbox maps to IGNORE_REPEATING_HEADER. The Optimize Basic Tables entry maps to the BASELINETABLE identifier in FILTERS. The Compare tables by select maps to TABLE_ID_COLUMN.
The related structure or UI keys are:
| Sidebar option | Structure or UI key | Raw profile value |
|---|---|---|
| Optimize Basic Tables | pdfc.filter.BASELINETABLE | FILTERS contains BASELINETABLE |
| Filter repeating headers | pdfc.filter.IGNORE_REPEATING_HEADER | IGNORE_REPEATING_HEADER |
| Compare tables by | pdfc.filter.TABLE_ID_COLUMN | TABLE_ID_COLUMN |
| Enable AI table detection (slow) | pdfc.filter.USE_TATR | TABLE_USE_TATR |
i-net PDFC registers a TATR model builder for BaselineTable. The Enable AI table detection (slow) checkbox is visible only when this model builder is active in the configuration. If no TATR model status is present, the option is shown as available. If a model status is present, the option is unavailable; administrators see it disabled together with the status, while it remains hidden for other users. If the model builder is missing or inactive in the configuration, the option is not shown.
The TATR option can be enabled only when Optimize Basic Tables is active. TATR is optional and can help detect tables without visible borders; using it can slow down processing. TABLE_USE_TATR remains false by default.
A possible XML profile fragment is:
<entry key="FILTERS">BASELINETABLE</entry> <entry key="IGNORE_REPEATING_HEADER">true</entry> <entry key="TABLE_HEADER_DIFF_RATIO">0.0</entry> <entry key="TABLE_ID_COLUMN">auto</entry> <entry key="TABLE_USE_TATR">false</entry>