- Introducing ABBYY FlexiLayout Studio
- What's New In ABBYY FlexiLayout Studio 12
- Installing, running, and removing ABBYY FlexiLayout" Studio
- Program interface
- Projects
- Batches
- FlexiLayouts
- Multi-page FlexiLayout
- Pre-recognition
-
Elements
- Creating, copying, and deleting elements
- An overview of element properties
- Required and optional elements
- Element properties
- Search area
- Additional search constraints
- Units of measurement
- Fuzzy interval
- Specifying databases and text files in the FlexiLayout language
- Training elements
- Dependency browser
- Blocks
- Working with tables
-
Hypotheses and trees of hypotheses
- Hypotheses and optimizing the search
-
How hypotheses are generated and assessed
- Hypotheses for Static Text elements
- Hypotheses for Separator elements
- Hypotheses for White Gap elements
- Hypotheses for Barcode elements
- Hypotheses for Character String elements
- Hypotheses for Text Fragment elements
- Hypotheses for Date elements
- Hypotheses for Object Collection elements
- Hypotheses for Group elements
- Hypotheses for Phone elements
- Hypotheses for Currency elements
- Hypotheses for Table elements
- Hypotheses for Repeating Group elements
- Hypotheses for Labeled Field elements
- Hypotheses for Region elements
- Tree of hypotheses
- Debugging the FlexiLayout
- Classification
- Export
-
FlexiLayout language
- Basic concepts
-
Predefined types
- Void
- Logic
- String
- Int
- Distance
- XCoordinate
- YCoordinate
- Real
- Quality
- Area
- ImageObjectType
- DateFormats
- DayFormatVariants
- MonthFormatVariants
- YearFormatVariants
- XInterval
- YInterval
- DistInterval
- Rect
- FuzzyRect
- RectArray
- Region
- ImageObjectSet
- TextTypes
- BarcodeTypes
- BarcodeOrientations
- RecognitionMode
- Direction
- HorSearchAreaBound
- VertSearchAreaBound
- Hypothesis
- HypothesisInstances
- TableBlock
- TableBlockColumn
- TableBlockColumnArray
- TableHypothesis
- TableHypColumn
- TableColumnType
- CurrencyPositionTypes
- PageInterval
- PageArea
- PageEdge
- Page
- SearchAreaPageSetType
- IntArray
- StringArray
- IntFuzzyInterval
- DistFuzzyInterval
- AreaFuzzyInterval
- TextRotations
- Conversion of types
- Predefined constants
- Predefined variables
- Global functions
- Functions for working with named parameters
- Advanced pre-search functions
- Advanced post-search functions
- Specifying element properties
-
Hypotheses and their properties
- Object Collection hypothesis
- Character String hypothesis
- Static Text hypothesis
- Paragraph hypothesis
- Barcode hypothesis
- Date hypothesis
- Currency hypothesis
- Phone hypothesis
- Table hypothesis
- Table Column hypothesis
- Repeating Group hypothesis
- First Found hypothesis
- Labeled Field hypothesis
- Region hypothesis
- Hypotheses for all types of element
- Printing to debug
-
Tips and tricks
- Detecting dates in the case of low quality pre-recognition
- Setting multiple static text values. Search for static text with similar values
- Using Exclude to exclude elements
- Using Group elements to optimize FlexiLayout structure and search
- Searching for single-line Static Text elements
- Restricting the search area by means of RestrictSearchArea
- Searching for single-line fields of known or unknown format on documents of varying OCR quality
- Using Nearest and FuzzyQuality to search for elements
- Optimizing Group element search
- The "Optional" property of a Group element
- Searching for strings of digits
- Simplifying the FlexiLayout by using an auxiliary element and a null
- Describing text fields containing framed letters
-
Appendix
- Shortcut keys
- Properties of image objects detected during pre-recognition
- Supported input formats
- Barcodes supported in ABBYY FlexiLayout" Studio
- OCR languages supported in ABBYY FlexiLayout" Studio
- User dictionaries
- Alphabet used in regular expressions
- Extended regular expressions
-
Dialog boxes
- Options dialog box
- Fuzzy interval visual editor
-
Element Properties dialog box
- General tab
- Static Text tab
- Separator tab
- White Gap tab
- Barcode tab
- Character String tab
- Paragraph tab
- Date tab
- Object Collection tab
- Phone tab
- Currency tab
- Repeating Group tab
- Columns tab
- Order tab
- Header tab
- Footer tab
- Rows tab
- Label tab
- Field Position tab
- Field tab
- Search Constraints tab
- Relations tab
- Advanced tab
- Advanced for All Instances tab
- Errors tab
- End-User License Agreement
- Patents
- How to buy ABBYY FlexiCapture
- Third-party technologies
-
Tutorial
-
Sample 1
- Step 1: Creating a new project
- Step 2: Adding images to the batch
- Step 3: Setting the FlexiLayout properties
- Step 4: Pre-recognition
- Step 5: Viewing images and pre-recognition results
- Step 6: Analyzing pre-recognition results and selecting reference elements
- Step 7: Creating a form identifier
- Step 8: Testing the identifier element
- Step 9: Adjusting the properties of the identifier element
- Step 10: Describing the YOUR PLANET NAME field
- Step 11: Describing the YOUR PLANET NAME field with a PlanetNameHeader element
- Step 12: Describing the YOUR PLANET NAME field with a PlanetName element
- Step 13: Testing the YOUR PLANET NAME field
- Step 14: Describing the YOUR PLANET NAME field with a PlanetName block
- Step 15: Describing the NAME field
- Step 16: Describing the YOUR SPACESHIP NUMBER field
- Step 17: Describing the DATE YOU ARRIVED AT THE EARTH field
- Step 18: Describing the YOUR IDENTITY NUMBER ON THE PARTY field
- Step 19: Describing the ANY TEXT field
- Step 20: Describing the YOUR PHOTO IN FANCY DRESS field
- Step 21: Exporting the FlexiLayout
- Step 22: Opening the FlexiLayout in ABBYY FlexiCapture
-
Sample 2
- Step 1: Creating a new project
- Step 2: Adding images to the batch
- Step 3: Setting the FlexiLayout properties
- Step 4: Pre-recognition
- Step 5: Viewing images and pre-recognition results
- Step 6: Creating a document identifier
- Step 7: Testing the identifier element
- Step 8: Specifying the order in which the field Recipe # and the name for the recipe must be detected
- Step 9: Describing the Recipe # field
- Step 10: Creating a Recipe element
- Step 11: Creating a RecipeNumber element
- Step 12: Creating a RecipeNumber block
- Step 13: Describing the field which contains the name of the recipe
- Step 14: Describing the Ingredients field
- Step 15: Describing the field which contains the cooking instructions and the field which contains the cooking time
- Step 16: Creating a CookingTimeHeader element
- Step 17: Creating a CookingTime element
- Step 18: Creating a CookingTime block
- Step 19: Creating an InvertedHeader element
- Step 20: Describing the Cooking field
- Step 21: Creating a Serves element
- Step 22: Creating a Portions element
- Step 23: Describing the Cooking field
- Step 24: Creating a CookingDescription block
- Step 25: The FlexiLayout is ready
-
Sample 3
- Step 1: Preparatory settings
- Step 2: Visual analysis of the images and pre-recognition results
- Step 3: Blocks
- Step 4: Analyzing the images to decide in which order elements must be detected
- Step 5: Detecting the name of the Delivery Address field with a kwDeliveryAddress element
- Step 6: Detecting the name of the Invoice Number field with a kwInvoiceNumber element
- Step 7: Detecting the name of the Invoice Date field with a kwInvoiceDate element
- Step 8: Describing the Invoice Number field with an InvoiceNumber element
- Step 9: Describing the Invoice Date field: the grDate, InvoiceDate, and InvoiceDateAsString elements
- Step 10: Creating an grAddress element of type Group
- Step 11: Detecting the right boundary of the Delivery Address field with a wgAddressRight element
- Step 12: Describing the Delivery Address field with a DeliveryAddress element
- Step 13: Further analysis of the images
- Step 14: Detecting the auxiliary horizontal separator with an hsTableHeaderTop element
- Step 15: Analyzing the search constraints for column names with a TableHeader element of type Group
- Step 16: Detecting the name of the Quantity column with a kwQuantity element
- Step 17: Detecting the name of the Unit Price column with a kwUnitPrice element
- Step 18: Detecting the name of the Total column with a kwTotal element
- Step 19: Creating a InvertedHeader element
- Step 20: Describing the Footer group with a Footer element of type Group
- Step 21: Describing the footer of the table with a kwFooter element
- Step 22: Describing the name of the Total field with the kwTotal element
- Step 23: Detecting the name of the Country field with a kwOrigin element
- Step 24: Describing the Country field with a Country element
- Step 25: Detecting the TotalQuantity and TotalAmount fields with TotalQuantity and TotalAmount elements
- Step 26: Detecting the Table element with an InvoiceTable element
- Step 27: Exporting the FlexiLayout into ABBYY FlexiCapture
-
Sample 4
- Step 1: Preparatory settings
- Step 2: Viewing the images and pre-recognition results
- Step 3: Blocks
- Step 4: Analyzing the images to determine the order in which the elements should be detected
-
Step 5: Document header and InvoiceHeader group
- Step 5.1: Name of Invoice Number field, kwInvoiceNumber element
- Step 5.2: Name of Delivery Address field, kwDeliveryAddress element
- Step 5.3: Name of Invoice Date field, kwInvoiceDate element
- Step 5.4: Invoice Number field, InvoiceNumber element
- Step 5.5: Invoice Date field, grDate, InvoiceDate, and InvoiceDateAsString elements
- Step 5.6: Delivery Address field, grAddress, wgAddressAbove, and DeliveryAddress elements
- Step 6: Document Footer, InvoiceFooter group
-
Step 7: Table column names, TableHeader group
- Step 7.1: Name of Designation column, kwDesignation element
- Step 7.2: Name of ExtraQuantity column, ExtraQtyTag element
- Step 7.3: Name of Quantity column, kwQuantity element
- Step 7.4: Name of UnitPrice column, kwUnitPrice element
- Step 7.5: Name of Total column, kwTotal element
- Step 7.6: Name of Reference column, kwReference element
- Step 7.7: Name of Sales column, kwSales element
- Step 7.8: Name of Unit column, kwUnit element
- Step 8: Table element, InvoiceTable element
- Step 9: TotalAmount field, SumGroup group element
- Step 10: Company field, CompanyGroup group element, Company element
- Step 11: Exporting the FlexiLayout into FlexiCapture
-
Sample 1
- Technical support
- Glossary
Menu commands
File menu
Command | Description |
New Project... | Opens the Create New Project dialog box, where you can specify a name and location for your new FlexiLayout or Classifier project. |
Open Project... | Opens the Open Project dialog box, where you can select a project file. |
Close Project | Closes the current project. |
Save | Saves the current project. |
Save Project as... | Opens the Save Copy dialog box, where you can save the current project under a new name. |
Export... | Opens the Export FlexiLayout dialog box for FlexiLayout projects or Export Classifier dialog box for Classifier projects where you can enter a name for the export file. For FlexiLayout projects, the file is exported in the *.afl format. For Classifier projects, the export file has the *.cfl format. |
Recent Projects | Displays a list of recent projects. |
Exit | Closes FlexiLayout Studio. |
Edit menu
Command | Description | |
Cut | Cuts the selection and places it into the Clipboard. | |
Copy | Copies the selection (text in the Text window, blocks in the Image window, pages in the Batch window, blocks or elements in the FlexiLayout window) and places it into the Clipboard. | |
Paste | Pastes the selection from the Clipboard. | |
Delete | Deletes the selection. | |
Delete Page Data | Opens the Select Data to Delete dialog box, where you can select the page data to be deleted. | |
Image | Correct Orientation | Auto corrects the orientation of pages in the batch. The correct orientation is selected automatically based on the selected pre-recognition language and the settings made in the Options dialog box (Tools → Options...). |
Rotate Clockwise | Rotates the image by 90° clockwise. | |
Rotate Counter Clockwise | Rotates the image by 90° counter-clockwise. | |
Rotate Upside Down | Rotates the image by 180°. | |
Flip Horizontally | Flips the image horizontally. | |
Flip Vertically | Flips the image vertically. | |
Invert | Inverts the image (turns black into white and vice versa). | |
Despeckle | Removes excess dots from the image. | |
Select All | Selects all the pages in the Batch window or all the blocks and elements on the image. | |
Find in Code... | Finds and replaces strings in the entire code on all the Advanced tabs. See Finding and replacing code strings on the Advanced tab. | |
Go to Page... | Opens the Go to Page dialog box, where you can enter the number of the page to which you wish to go. |
View menu
Command | Description | ||
Images | Scale | 10% ... 800% | Sets the scale of the Image window from 10% to 800%. |
Fit to Width | Fits the width of the image to the window. | ||
Fit to Height | Fits the length of the image to the window. | ||
Best Fit | Fits the entire image to the window. | ||
Zoom In | Makes the image 25% as large. | ||
Zoom Out | Makes the image 25% as small. | ||
Objects | Show All Objects | Displays all the objects detected during pre-recognition. | |
Hide All Objects | Hides all the objects detected during pre-recognition. | ||
Recognized Words | Displays only the objects classified as Text during pre-recognition. | ||
Recognized Lines | Displays only the objects classified as Recognized Lines during pre-recognition. | ||
Separator | Displays only the objects classified as Separators during pre-recognition. | ||
Barcodes | Displays only the objects classified as Barcodes during pre-recognition. | ||
Raw Objects | Displays only the objects which the program managed to classify during pre-recognition. | ||
![]() |
|||
Tool | Select | Selects an existing block on the image. | |
Scroll | Scrolls images. | ||
Measure Rectangle | Detects the coordinates and sizes of objects on the image and copies them to the Clipboard. | ||
Create Block | Draws an area on the image and creates a new block. | ||
Create Element | Draws an area on the image and creates a new element. | ||
Draw Location (FlexiLayout projects only) |
Selects the image area that corresponds to the selected block or element. | ||
Add Region Part (only available if you have selected the Reference layout option) |
Adds a rectangular area to the selected block. | ||
Cut Region Part (only available if you have selected the Reference layout option) |
Cuts a rectangular area from the selected block. | ||
Delete Region (only available if you have selected the Reference layout option) |
Deletes the selected block. | ||
Add Vertical Separator (only available if you have selected the Reference layout option) |
Adds a vertical separator to the selected Table block. | ||
Add Horizontal Separator (only available if you have selected the Reference layout option) |
Adds a horizontal separator to the selected Table block. | ||
Delete Separator (only available if you have selected the Reference layout option) |
Deletes the selected separator from the selected Table block. | ||
Show Search Area | Shows / hides the search area of an element after a FlexiLayout has been applied. | ||
Show Pre-Recognition Area | Shows / hides a pre-recognition area. | ||
Show Captions of Regions on Image (FlexiLayout projects only) |
Shows / hides element captions after a FlexiLayout has been applied. | ||
Show Captions of Inactive Regions (only available if you have selected the Show Captions of Regions on Image option) |
Shows / hides the captions of all non-selected elements. | ||
Hide Active Blocks or Elements | Hides the blocks or elements marked on the image, making it easier to review images where both the image objects and the regions of the elements and blocks have been marked. By temporarily hiding a selected element, you can see the image object obscured by the element. | ||
Show Image in Black and White | Displays color images in black and white. | ||
Hypotheses | ![]() ![]() |
||
Log | Opens the Classifier Log window. | ||
Reference browser | Opens the dependency browser, where you can search for elements and view their dependencies. | ||
Status Bar | Displays / hides the status bar in the program’s main window. |
Batch menu
Important!The contents of this menu depends on the type of project you select.
Command | Description |
Batches... | Opens the Batches dialog box, where you can create a new batch or edit an existing one. |
Set Reference FlexiLayout Alternative / Set Reference Class | Sets a Reference layout alternative / reference class for the selected pages. |
Set Matched Result as Reference / Set Classification Result as Reference | Uses the matched alternative or the current classification result as a reference. |
Add Images... | Opens the Open Images dialog box, where you can select one or several images to be added to the batch. |
Add Images from Folder... | Opens the Add Images from Folder... dialog box, where you can specify a folder to load the images from. |
Import Pages from FLS Project... | Opens the Import Pages from FLS Project… dialog box, where you can select a FlexiLayout Studio project from which you want to import pages. |
Move Selected Pages to Another Batch | Moves the selected pages to another batch. |
Export Pages to Files... | Opens the Export Images to Folder...dialog box, where you can specify export options for the selected images. |
Delete Duplicates | Suggests deleting duplicate images if they are found. |
Next Page | Opens the next image in the batch. |
Previous Page | Opens the previous image in the batch. |
Next Document | Opens the next document in the project. |
Previous Document | Opens the previous document in the project. |
Match on Navigation | Automatically applies the FlexiLayout when you go to the next document. |
Copy Matched Layout to Reference |
FlexiLayout project: Creates a reference layout for the image on the basis of the results of FlexiLayout matching.
Classifier project: Copies a classification result to the page properties. |
Assemble to Reference Documents... (FlexiLayout projects only) |
Opens Assemble to Reference Documents dialog box, where you can set the reference assembly parameters and create a reference assembly of the selected documents. |
Disassemble Reference Documents | Allows a user to disassemble selected reference documents. |
Change Reference Header/Footer… | Changes headers/footers in the selected documents if they are used to determine boundaries. |
Properties... | Activates the Properties window. |
FlexiLayout / Classifier menu
Command | Description | ||
Match / Classify | Matches the FlexiLayout with the selected pages. / Classifies the selected pages. | ||
Add Selected Pages to Training Set | Adds the selected pages to the training set. | ||
Remove Selected Pages from Training Set | Removes the selected pages from the training set. | ||
Replace Training Set with Selected Pages | Creates a training set based on the selected pages. | ||
Add All Pages to Training Set | Adds all the batch pages to the training set. | ||
Remove All Pages from Training Set | Deletes all the batch pages from the training set. | ||
Add Block | Text | Creates a new block of type Text in the blocks branch. | |
Table | Creates a new block of type Table in the blocks branch. | ||
Barcode | Creates a new block of type Barcode in the blocks branch. | ||
Checkmark | Creates a new block of type Checkmark in the blocks branch. | ||
Checkmark Group | Creates a new block of type Checkmark Group in the blocks branch. | ||
Picture | Creates a new block of type Picture in the blocks branch. | ||
Non-Recognized | Creates a new block of type Non-Recognized in the blocks branch. | ||
Group | Creates a new block of type Group in the blocks branch. | ||
Repeating Group | Creates a new block of type Repeating Group in the blocks branch. | ||
Elements | Add Element | Header | Adds a Header element to the FlexiLayout, which indicates the start of a new document. |
Footer | Adds a Footer element to the FlexiLayout, which indicates the end of the document. | ||
Group | Creates a Group element. | ||
Labeled Field | Creates a new element of type Labeled Field in the elements branch. | ||
Line of Elements | Creates a new element of type Line of Elements in the elements branch. | ||
First Found | Creates a new element of type First Found in the elements branch. | ||
Static Text | Creates a new element of type Static Text in the elements branch. | ||
Character String | Creates a new element of type Character String in the elements branch. | ||
Paragraph | Creates a new element of type Paragraph in the elements branch. | ||
Date | Creates a new element of type Date in the elements branch. | ||
Currency | Creates a new element of type Currency in the elements branch. | ||
Phone | Creates a new element of type Phone in the elements branch. | ||
Separator | Creates a new element of type Separator in the elements branch. | ||
White Gap | Creates a new element of type White Gap in the elements branch. | ||
Barcode | Creates a new element of type Barcode in the elements branch. | ||
Object Collection | Creates a new element of type Object Collection in the elements branch. | ||
Region | Creates a new element of type Region in the elements branch. | ||
Table | Creates a new element of type Table in the elements branch. | ||
Repeating Group | Creates a new element of type Repeating Group in the elements branch. | ||
Convert Element to ... | Changes the type of the selected element. | ||
Disable Element |
Disables the selected element or block (i.e. makes it temporarily unavailable).
|
||
Test Element | Tests the selected element. | ||
Import Alternative Elements... | Imports a FlexiLayout from FlexiLayout Studio. | ||
Export... | Exports the FlexiLayout. | ||
Properties... | Opens the Properties dialog box, where you can view the properties of the FlexiLayout. |
Training menu
Command | Description |
Training Mode | Switches to the training mode. The General tab is replaced with the Training tab. |
Add Field | Adds a new field to the list of fields on the Training tab. |
Add Group Field | Adds a group field to the list of elements on the Training tab. |
Add AnchorText | Adds a new anchor text element to the list of elements on the Training tab. |
Add Separator | Adds a new separator element to the list of elements on the Training tab. |
Add Barcode | Adds a new barcode element to the list of elements on the Training tab. |
Project menu
Command | Description |
Create Backup... | Opens the Create New Backup dialog box, where you can create a backup copy of your FlexiLayout. |
Backup Manager... | Opens the Backup Manager, which allows you to manage the backup copies of your FlexiLayout. |
Project Settings... | Opens the Properties dialog box, where you can view the properties of the project. |
Tools menu
Command | Description |
Correct Orientation | Auto corrects the orientation of pages in the batch. The correct orientation is selected automatically based on the selected pre-recognition language and the settings made in the Options dialog box (Tools → Options...). |
Pre-Recognize | Pre-recognizes the selected pages. |
Delete Blank Pages... | Opens a dialog box where you can delete blank pages from the batch. |
Fuzzy Interval Editor... | Opens the fuzzy interval visual editor. |
Options... | Opens the Options... dialog box, where you can select colors of objects and highlighting lexemes, possible page orientation, units of measurement to be used in the program, training settings and other options. |
Help menu
Command | Description |
Help Topics | Opens the Help file. |
Tutorial | Opens the "Tutorial" section of the Help file. |
Technical Support | Opens the "Technical Support" section of the Help file. |
How to Buy ABBYY Products | Opens the "How to Buy ABBYY Products" section of the Help file. |
ABBYY Website | Opens the ABBYY website. |
Send Feedback... | Opens the Send your feedback page on the ABBYY website. |
About | Opens the About dialog box which contains brief information about ABBYY FlexiLayout Studio. |
13.04.2021 11:12:27