Vertical Table Column Borders Customization & Redefining column borders issue Answered


My firm is an Abbyy VAR and I am designing DocDefs in FlexiCapture 11 to eventually capture vendor invoice data for our customers (Country: United States). I have FlexiCapture 11 basic certification. I have come across the following table problem in FlexiLayout Studio: 

- Vendor prints line item contents in its invoices outside the printed column borders that the document has. (i.e. Unit price is split by a vertical column border) (Scan_002). Normally FC 11 can define line item table cell borders from headers and capture the data properly. To properly capture table data, I had to force absolute area constraints on some columns. Some columns has an element as their headers. Also, I've used the following Advanced pre-search relation (Scan_006): 



Below: PageRect.Top + PageRect.Height/3.3;

The result is some columns ignoring the borders and capturing the data properly, but some sticking to table borders and dividing the data (Scan_001) (Check UnitPrice, UM and Extended Amount columns). Absolute area constraints do not seem to work properly. And the current table recognition setting (UnitPrice and UM properly recognized) does not seem to hold true in each invoice page. Tables in some pages are properly recognized, while in others, layout sticks to vertical borders in the document, even though absolute area is constrained (Scan_003, 004, 005). Also, due to the FLS's features, table borders cannot be realigned from the GUI. 

Here are my questions: 

1- How can I completely relieve table from its (printed) vertical borders? I want to force the table to look according to borders I've set and focus on capturing the data in each cell completely. I want to achieve this in the simplest way possible, without creating additional elements. If a script or advanced pre-search relations setting is necessary, sample coding will help me a lot.

2-Table stops recognition with "CAN" MEANS CANCELLED footer (Scan_002). Below that word, additional charges or discounts follow (Scan_001). In some pages, there is only one discount line with its amount, which I can catch from keywords. However, in some other pages, there are two or three discounts and also new charges. How can I tell the layout to be flexible and capture appropriate additional charge line items and their data, only when it appears? Should I create different line item table variants in the same FlexiLayout? Are there script samples available?

This is a major vendor and we cannot push them to print their invoices in a way to fit into table borders. 

Thank you.

Attachment Legend:


Scan_001: Table Borders - Matched Layout

Scan_002: Line Items Table - Clean Copy

Scan_003: Extended Amount Column Properties - Advanced Tab

Scan_004: Unit Price Column Properties - Advanced Tab

Scan_005: Unit of Measure (UM) Column Properties - Advanced Tab

Scan_006: Line Items Table Element Properties - Advanced Tab



1 comment

  • Avatar


    To set the table borders you may use the “void ExactColumnBorders( XCoordinate left, XCoordinate right, TableBlockColumn )” method (see the FlexiLayout language > Specifying element properties > Table).

    If you have some regions that prevent the table matching, you may exclude them. See the FlexiLayout language > Advanced pre-search functions > Specifying the search area > Functions which limit the search area article, Void Exclude( Rect rect ) method. Please look at the “has repeating instances” checkmark in the “Blocks”.

    Also, you may use the repeating groups, not only table elements if you have problems with recognition.

    Comment actions Permalink

Please sign in to leave a comment.