You are on page 1of 221

Visual Designer

v4.5

User’s Guide

Top Image Systems Training Department


© Top Image Systems

www.TopImageSystems.com
Legal Notice

Legal Notice
This manual contains information that is proprietary to TiS Technologies Inc. ("TiS").
No part of this publication may be reproduced in any form whatsoever without prior
written approval by TiS.
Right, title and interest, all information, copyrights, patents, know-how, trade secrets
and other intellectual property or other proprietary rights relating to this manual and
to eFLOW Visual DesignerTM ("the Product"), and any software components contained
therein, are proprietary products of TiS protected under international copyright law
and shall be and remain solely with TiS.
TiSSM, eFLOWSM and eFLOW Visual DesignerTM are servicemarks, trademarks or
registered trademarks of TiS. No right, license or interest to such marks is granted
hereunder, and you agree that no such right, license, or interest shall be asserted by
you with respect to such marks.
You shall not copy, reverse compile or reverse engineer all or any portion of the
Manual or the Product. You are prohibited from, and shall not, directly or indirectly,
develop, market, distribute, license, or sell any product that supports substantially
similar functionality as the Product, based on or derived in any way from the Product.
Your undertaking in this paragraph shall survive the termination of this Agreement.
This Agreement is effective upon your purchase of the Product, and shall continue
until terminated. TiS may terminate this Agreement upon the breach by you of any
term hereof. Upon such termination by TiS, you agree to return to TiS the Product
and all copies and portions thereof. For further information contact TiS at the address
below.

TiS Technologies Inc.


2 Habarzel Street
Tel Aviv 69710
Israel

Copyright © 2007 by TiS Technologies, Inc.

User's Guide | i
About this Document

About this Document


This document explains how to use the Visual Designer application to create, set up,
configure, customize, and edit applications for the eFLOW system, including Integra,
Freedom, and Smart workflows.
The eFlow unified content platform is a common gateway for business critical data
entering your enterprise. eFLOW’s various modules import paper or electronic text
data, processes it using sophisticated OCR engines and image processing tools, and
exports the data in customized formats to your database.

Chapters and Their Contents

1 Overview of eFLOW Describes the system, applications, flows, modules, and basic
concepts.

2 Application Designer Desktop Describes the user interface, desktop, menus, toolbars, and
workspace.

3 Application Design How to create an application including exception categories, lookup


tables and EFIs.

4 Flow Design How to create flows in a workflow, including modules and links,
their properties and events.

5 Form and Page Design How to design forms and work with pages.

6 Field Group, Table and Field How to create field groups, fields, and tables.
Design

7 Designing Screen Layout How to create and edit layouts for manual runtime stations.

8 EFI Design How to create, edit, link EFIs and perform recognition.

9 Defining Exceptions How to create exceptions for manual runtime stations.

10 Defining Lookup Tables How to create lookup tables for manual runtime stations.

11 Rules and Validation Functions How to create and edit rules and validation functions.

12 OCR Engine Design How to configure OCR engines and configure recognition properties.

13 Virtual Engine Design How to create and edit virtual OCR engines and configure
recognition properties and voting algorithms.

14 Testing Virtual Engines How to test virtual OCR engines.

ii | eFLOW Visual Designer 4.5


About this Document

Style Conventions

Convention Used for

Verdana Regular text.

Names of menus, commands, buttons, and other elements of the user interface,
Arial Bold
including names of data manipulation functions.

Arial Italics Special terms, the first time they appear.

Monospace Text entered by a user, values of parameters, and usage examples.

Notes, which offer an additional explanation or a hint on how to overcome a


common problem.

Warnings, which indicate potentially damaging user operations and explain how
to avoid them.

User's Guide | iii


Table of Contents

Table of Contents
LEGAL NOTICE ............................................................................................. I

ABOUT THIS DOCUMENT ............................................................................ II

TABLE OF CONTENTS ................................................................................. IV

1 OVERVIEW OF EFLOW ......................................................................... 12

1.1 DESIGNER MODULES ........................................................................... 12

1.1.1 Application Visual Designer .................................................... 12


1.1.2 OCR Visual Designer .............................................................. 13
1.1.3 Workflow Visual Designer ....................................................... 13

1.2 BASIC CONCEPTS ............................................................................... 13

1.2.1 Flows, Forms and Empty Form Images .................................... 13


1.2.2 Forms and Collections............................................................ 15
1.2.3 Flows and Applications ........................................................... 15

1.3 BUILDING AN APPLICATION .................................................................... 16

1.3.1 Preparing Forms for Processing ............................................... 16


1.3.2 Application Design ................................................................ 16

1.4 DEFINING OCR ENGINES AND VIRTUAL ENGINES .......................................... 18

1.4.1 Defining and Selecting Engines ............................................... 18


1.4.2 Creating Virtual Engines......................................................... 18
1.4.3 Testing Engines .................................................................... 19

1.5 DEFINING APPLICATION WORKFLOWS ........................................................ 19

1.6 RUNNING THE SYSTEM ......................................................................... 19

1.6.1 Testing Data Entry System ..................................................... 19


1.6.2 Tuning the System ................................................................ 19
1.6.3 Building Interfaces to Other Software Components.................... 20

1.7 THE EFLOW SYSTEM ........................................................................... 20

1.7.1 eFLOW Products.................................................................... 21


1.7.2 eFLOW Products Runtime Modules........................................... 22
1.7.3 eFLOW Enterprise Manager .................................................... 26
1.7.4 Scalability ............................................................................ 26

iv | eFLOW Visual Designer 4.5


Table of Contents

2 APPLICATION DESIGNER DESKTOP .................................................... 27

2.1 USING THE DESKTOP ........................................................................... 27

2.2 USING THE TOOLBAR ........................................................................... 28

2.3 USING THE MENU BAR ......................................................................... 29

2.3.1 File Menu ............................................................................. 29


2.3.2 Edit Menu ............................................................................ 29
2.3.3 Selected Menu ...................................................................... 30
2.3.4 View Menu ........................................................................... 32
2.3.5 Tools Menu........................................................................... 32
2.3.6 Options Menu ....................................................................... 33
2.3.7 Help Menu ............................................................................ 33

2.4 USING THE OBJECT INSPECTOR WINDOW ................................................... 34

2.5 THE APPLICATION EXPLORER .................................................................. 34

2.5.1 Copying and Pasting Objects .................................................. 36


2.5.2 Cutting an Object .................................................................. 36
2.5.3 Deleting an Object ................................................................ 37

2.6 USING THE WORKING AREA ................................................................... 37

2.6.1 Working Area Toolbar ............................................................ 38

3 APPLICATION DESIGN ........................................................................ 41

3.1 WHAT IS AN APPLICATION? .................................................................... 41

3.2 DEFINING EXCEPTION CATEGORIES .......................................................... 41

3.3 CREATING LOOKUP TABLES .................................................................... 43

3.4 DEFINING APPLICATION EFIS ................................................................. 43

3.4.1 Empty Form Images (EFIs) .................................................... 43


3.4.2 Creating an EFI from an Image File ......................................... 44
3.4.3 Scanning a New EFI From a Paper Form ................................... 45
3.4.4 Copying an EFI ..................................................................... 45
3.4.5 Deleting an EFI ..................................................................... 46
3.4.6 Renaming an EFI .................................................................. 46

4 FLOW DESIGN ..................................................................................... 47

4.1 WHAT IS A FLOW? .............................................................................. 47

4.2 CREATING A FLOW .............................................................................. 47

User's Guide | v
Table of Contents

4.3 DEFINING FLOW PROPERTIES ................................................................. 48

4.3.1 General Flow Properties ......................................................... 48


4.3.2 Input Flow Properties ............................................................ 49
4.3.3 Processing Flow Properties ..................................................... 53
4.3.4 Enhancement Properties ........................................................ 54
4.3.5 The Enhancement Builder ...................................................... 55
4.3.6 Export Flow Properties ........................................................... 62

4.4 WORKFLOW VISUAL DESIGNER ............................................................... 62

4.5 WORKFLOW DESIGN ............................................................................ 63

4.5.1 Workflow Elements ............................................................... 63


4.5.2 Workflow Designer ................................................................ 64

4.6 STEPS TO CREATE A WORKFLOW.............................................................. 64

4.6.1 Workflow Modules ................................................................. 65

4.7 WORKFLOW MODULE PROPERTIES AND EVENTS ............................................ 68

4.7.1 General Module Properties ..................................................... 68


4.7.2 Priorities Property ................................................................. 69
4.7.3 FilePortal Module .................................................................. 71
4.7.4 ScanPortal Module ................................................................ 71
4.7.5 FormID Module ..................................................................... 71
4.7.6 ManualID Module .................................................................. 72
4.7.7 Processing Module................................................................. 72
4.7.8 Completion Module................................................................ 73
4.7.9 Exceptions Module ................................................................ 73
4.7.10 Tile Module .......................................................................... 73
4.7.11 Export Module ...................................................................... 74
4.7.12 Custom Module ..................................................................... 74
4.7.13 FreeLearning Module ............................................................. 75
4.7.14 FreeCompletion Module ......................................................... 75
4.7.15 FreeBuild Module .................................................................. 76

4.8 DEFINING DATA ROUTERS (LINKS BETWEEN MODULES) .................................. 76

4.8.1 Defining Data Router Properties .............................................. 76


4.8.2 Routing and Exception Rules .................................................. 77
4.8.3 Save a Workflow ................................................................... 80

vi | eFLOW Visual Designer 4.5


Table of Contents

5 FORM AND PAGE DESIGN .................................................................... 81

5.1 WHAT IS A FORM? .............................................................................. 81

5.2 CREATING AND DEFINING A NEW FORM...................................................... 81

5.2.1 Creating a New Form ............................................................. 81


5.2.2 Defining Form Properties........................................................ 82

5.3 CREATING AND DEFINING A NEW PAGE ...................................................... 82

5.3.1 Creating a New Page ............................................................. 82


5.3.2 Defining Page Properties ........................................................ 83
5.3.3 Selecting and Linking EFIs for a Page ...................................... 84

5.4 ORDERING PAGES ............................................................................... 85

6 FIELD GROUP, TABLE AND FIELD DESIGN ........................................... 87

6.1 WHAT IS A FIELD GROUP? ..................................................................... 87

6.2 CREATING FIELD GROUPS ...................................................................... 87

6.3 FIELD GROUP EVENTS .......................................................................... 88

6.3.1 Creating Field Group Events ................................................... 89

6.4 ORDERING FIELD GROUPS ..................................................................... 90

6.5 WHAT IS A FIELD? .............................................................................. 90

6.6 CREATING NEW FIELDS ........................................................................ 91

6.6.1 Defining Field General Properties ............................................ 91


6.6.2 Defining Field Validation......................................................... 96
6.6.3 Specifying Field Display Properties .......................................... 97
6.6.4 Defining Field Lookup Table Properties ................................... 101
6.6.5 Defining Tile Properties ........................................................ 102
6.6.6 Defining Bad Character Level Properties ................................. 103
6.6.7 Defining Freedom Properties................................................. 103
6.6.8 Export, Exceptions and Region Delimiter ................................ 104
6.6.9 Field Events ....................................................................... 105
6.6.10 How to Associate Rules with a Field ....................................... 106
6.6.11 How to Associate Validation Functions with a Field .................. 107

6.7 WHAT IS A TABLE? ............................................................................ 108

6.8 HOW TO CREATE TABLES..................................................................... 109

User's Guide | vii


Table of Contents

6.9 TABLE GENERAL PROPERTIES ................................................................ 111

6.9.1 Location Properties.............................................................. 111


6.9.2 Structure Properties ............................................................ 112
6.9.3 Column Events ................................................................... 112
6.9.4 Defining Columns ................................................................ 112

7 DESIGNING SCREEN LAYOUT ............................................................ 121

8 EFI DESIGN....................................................................................... 123

8.1 WHAT IS AN EFI? ............................................................................. 123

8.2 SELECTING EFIS .............................................................................. 123

8.2.1 Defining the EFI Source ....................................................... 123

8.3 LINK, UNLINK, EDIT AND SAVE AN EFI .................................................... 124

8.3.1 Selecting and Linking EFIs ................................................... 125


8.3.2 Linking an EFI to a page in a form ......................................... 125
8.3.3 Unlinking EFIs .................................................................... 125
8.3.4 Editing Linked EFIs .............................................................. 126
8.3.5 Saving Linked EFIs .............................................................. 126

8.4 EFI TOOLBAR .................................................................................. 126

8.4.1 EFI Tools ........................................................................... 127

8.5 SETTING EFI PROPERTIES ................................................................... 129

8.5.1 Define EFI Tolerance ........................................................... 129


8.5.2 Defining Other EFI Properties ............................................... 130

8.6 HOW TO TEST EFIS........................................................................... 133

8.7 DEFINING REGIONS OF A NEW EFI ......................................................... 135

8.7.1 What are Regions? .............................................................. 135

8.8 PERFORMING FORM IDENTIFICATION AND REMOVAL: PAGE LEVEL REGIONS ......... 136

8.8.1 FormID Algorithm ............................................................... 136


8.8.2 Removal Algorithm .............................................................. 136

8.9 DEFINING FORMID REGIONS ................................................................ 136

8.9.1 FormID Region Properties .................................................... 137


8.9.2 Defining Removal Regions .................................................... 138

viii | eFLOW Visual Designer 4.5


Table of Contents

8.10 PERFORMING FIELD RECOGNITION: FIELD-LEVEL REGIONS ............................. 139

8.10.1 Defining OCR Regions .......................................................... 139


8.10.2 Defining OMR Regions ......................................................... 142
8.10.3 Moving and Resizing Regions ................................................ 144
8.10.4 Table Regions ..................................................................... 145

9 DEFINING EXCEPTIONS .................................................................... 148

9.1 WHAT IS AN EXCEPTION? .................................................................... 148

9.2 WHAT IS AN EXCEPTION CATEGORY? ....................................................... 148

9.3 CREATING AN EXCEPTION CATEGORY AND DEFINING ITS PROPERTIES................. 149

9.3.1 Exception Category Properties .............................................. 150

9.4 CREATING AN EXCEPTION AND DEFINING ITS PROPERTIES .............................. 151

9.4.1 Exception Properties ............................................................ 151

9.5 LINKING EXCEPTIONS......................................................................... 152

9.6 REMOVING EXCEPTIONS ...................................................................... 153

10 DEFINING LOOKUP TABLES .............................................................. 155

10.1 LOOKUP AND QUICK LOOKUP TABLES ...................................................... 155

10.2 CREATING QUICK LOOKUP TABLES ......................................................... 155

10.3 CREATING LOOKUP TABLES .................................................................. 156

11 RULES AND VALIDATION FUNCTIONS ............................................... 158

11.1 WHAT IS A RULE? ............................................................................. 158

11.2 DEFINING RULES .............................................................................. 158

11.2.1 Rule Properties ................................................................... 159

11.3 BUILDING RULES .............................................................................. 159

11.3.1 Using the Rules Editor ......................................................... 159


11.3.2 Rule Expression Syntax ....................................................... 160

11.4 WHAT IS A VALIDATION FUNCTION?........................................................ 162

11.4.1 Defining Validation Functions ................................................ 163


11.4.2 Building Validation Functions ................................................ 164

12 OCR ENGINE DESIGN ........................................................................ 166

12.1 WHAT IS AN OCR ENGINE? ................................................................. 166

12.2 OCR ENGINE ATTRIBUTES ................................................................... 166

User's Guide | ix
Table of Contents

12.3 OCR DESIGNER DESKTOP ................................................................... 167

12.4 OCR ENGINES................................................................................. 168

12.4.1 Creating an OCR Field or Page Engine Object .......................... 168

12.5 GENERAL ENGINE PROPERTIES .............................................................. 169

12.6 SETTING BASE RECOGNITION ENGINE PROPERTIES ...................................... 170

12.6.1 Engine Type ....................................................................... 170


12.6.2 Setting Segmentation Engine Properties ................................ 171

13 VIRTUAL ENGINE DESIGN ................................................................. 174

13.1 WHAT IS A VIRTUAL ENGINE? ............................................................... 174

13.1.1 OCR Field Engine Voting Methods .......................................... 174


13.1.2 OCR Page Engine Voting Methods ......................................... 174

13.2 DEFINING VIRTUAL ENGINE COMPONENT ENGINES....................................... 174

13.2.1 Creating New Virtual Engines................................................ 175


13.2.2 Attaching an OCR Engine ..................................................... 175
13.2.3 Ordering OCR Engines Within a Virtual Engine ........................ 176
13.2.4 Cutting or Deleting an OCR Engine ........................................ 176

13.3 DEFINING VIRTUAL ENGINE ATTRIBUTES .................................................. 176

13.4 SETTING RECOGNITION MASK PROPERTIES FOR OCR FIELD ENGINES ................ 177

13.5 SETTING SEGMENTATION PROPERTIES FOR OCR FIELD ENGINES ...................... 178

13.6 VOTING PROPERTIES ......................................................................... 178

13.6.1 Defining Voting Methods for OCR Page Engines ....................... 178
13.6.2 Defining Voting Methods for OCR Field Engines ....................... 178
13.6.3 Setting Virtual Engine Voting for OCR Field Engines ................. 180

13.7 THE EQUALIZER FOR OCR FIELD ENGINES ................................................ 180

13.7.1 How the Equalizer Works ..................................................... 180

13.8 COPY AND PASTE OR DELETE A VIRTUAL ENGINE ......................................... 183

13.8.1 Copying and Pasting a Virtual Engine..................................... 183


13.8.2 Cutting or Deleting a Virtual Engine....................................... 184

14 TESTING VIRTUAL ENGINES ............................................................. 185

14.1 WHAT IS ENGINE TESTING? ................................................................. 185

14.2 HOW TO TEST AN ENGINE ................................................................... 185

x | eFLOW Visual Designer 4.5


Table of Contents

14.2.1 Defining Test Regions .......................................................... 187


14.2.2 Running Tests..................................................................... 188
14.2.3 Engine Test Results ............................................................. 189

APPENDIX A ........................................................................................... 190

DEFINING EVENT FUNCTIONS ....................................................................... 190

Overview ..................................................................................... 190

FIELD COMMON EVENTS.............................................................................. 193

FIELD VALIDATION EVENT ........................................................................... 194

FIELD GROUP EVENTS ................................................................................ 194

RUNTIME MODULE COMMON EVENTS ............................................................... 194

RUNTIME MODULE EVENTS .......................................................................... 196

FilePortal Module .......................................................................... 196


ScanPortal Module ........................................................................ 198
ManualID Module .......................................................................... 202
Processing (Recognition and FormID) Module ................................... 202
Page OCR Module ......................................................................... 205
Completion Module ....................................................................... 205
Exceptions Module ........................................................................ 207
Export Module .............................................................................. 208
Controller Module.......................................................................... 209
Freedom Modules .......................................................................... 211

APPENDIX B ........................................................................................... 214

UTILITY KIT ............................................................................................ 214

CSM View .................................................................................... 214


Collection Information ................................................................... 214
Test Debug Logger ........................................................................ 215
eFLOW Folder ............................................................................... 215
eFLOW Data Folder ....................................................................... 215
PixTran ScanOnly .......................................................................... 215
OCR Viewer .................................................................................. 215

INDEX ..................................................................................................... 216

GENERAL INDEX ....................................................................................... 216

User's Guide | xi
Overview of eFLOW
Designer Modules

1 Overview of eFLOW
This manual describes the designer modules of eFLOW. The first part of this
introduction deals with eFLOW as a whole, illustrating the part that the designer
modules play in the system:
 Designer modules. See section 1.1.
 Basic concepts. See section 1.2.
The second part of this introduction takes a look at the steps involved in the design
procedure:
 Building an application. See section 1.3.
 Defining OCR engines and virtual engines. See section 1.4.
 Defining the application workflow. See section 1.5.
 Running the system. See section 1.6.
 The eFLOW system. See section 1.7.

1.1 Designer Modules


The designer modules are application generators that are used to create automatic,
image-based data entry applications by defining forms and processes. This is
performed by creating diagrams, and clicking to add icons, entering labels,
descriptions, and parameters - all without writing a single line of source code.

1.1.1 Application Visual Designer


Visual Designer is the one-stop shop for designing eFLOW application.
The Application Visual Designer enables:
 Definition of an entire application, which includes all the details of the forms it
contains.
 This includes definition of the logical structure of the forms (i.e. the list of all
the data fields they contain and their attributes) and their physical structure
(i.e. the actual appearance of the paper form).
 Setting up rules and validation processes for the logical form and its fields.
 This includes definition of the logical relations between fields.
 Definition of the data completion method, data look up tables (dictionaries), and
data and exception reports generated by the system.

12 | eFLOW Visual Designer 4.5


Overview of eFLOW
Basic Concepts

1.1.2 OCR Visual Designer


The OCR Visual Designer enables:
 Definition of OCR engines and virtual engines that are used to recognize
characters.
 Testing and fine turning of OCR recognition parameters.

1.1.3 Workflow Visual Designer


The Workflow Visual Designer enables:
 Definition of the workflow, using templates or custom design.
Once the application, OCR and workflow design steps have been completed, which for
simple applications may take only a few hours, the automatic form processing
application is ready to start production, by running the forms through the system’s
runtime modules.

1.2 Basic Concepts

1.2.1 Flows, Forms and Empty Form Images


A physical form is the original input, paper or scanned document, that eFLOW
converts into electronic data as output. An actual physical form may contain many
types of data, such as logos, barcodes, name, date, address, and inventory tables,
census data, checkboxes, and many other types of numerical and/or text data.
The eFLOW platform allows you to associate several physical appearances to a single
logical form. Each physically distinct appearance of an empty form is called an Empty
Form Image, or EFI. The EFI is a template of the structured document, which the
system uses to extract the data. The eFLOW term EFI is a logical definition and
means simply images of the empty forms.
The following diagram illustrates the concepts of the logical (flows and forms) and
physical (EFIs) parts of the application. Notice that Flow 1 and Flow 3 use two forms,
while Flow 2 uses only a single form. Notice also that Form 2 is used in two flows,
both Flow 1 and Flow 3, and that Form 1 is associated with more than one EFI.

User's Guide | 13
Overview of eFLOW
Basic Concepts

EFI1
EFI2 Form1 Flow1

EFI4 Form2

EFI4 Form2
Flow2

EFI5 Form3

EFI6 Form4 Flow3

In an application, you define how many forms and flows you want, which EFIs you
want to attach to them, and how you want the data processed. You define which OCR
engines will be used to interpret the form entries, and what type of image
enhancement and form-removal parameters to apply to achieve the best results. You
can group data items and apply logical and mathematical rules to ensure data
correctness and quality, and to reduce the number of exceptions that are returned to
the operator for manual data completion.
The form documents to be processed may be obtained from a number of different
sources.
Examples of input file sources:
 Scanned image
 Faxed image
 Text document
 Image file
The digital data output may be sent to almost any data management system that you
use.
Examples of output file formats/destinations:
 XML
 CSV
 INI
 SQL
 Oracle DB
 SAP

14 | eFLOW Visual Designer 4.5


Overview of eFLOW
Basic Concepts

 CRM
Sample applications have been supplied with the system in the directory “…\sample
Applications”, for use as reference applications. For your own work and tests,
however, you should create other applications.

1.2.2 Forms and Collections


Forms can be organized in several ways.
A collection, or batch, is the work unit of eFLOW, which is passed from one station to
the next. A batch is defined in each station definition. A batch is a set of forms (single
or multiple pages) that are separated by a separator (a specially designed page or a
blank page). For example, if you want to group sets of 100 forms during input, then
inserting a batch separator after such group will mark it as a batch.
Another way to understand the concept of batches and separators is in terms of how
they are scanned in, as shown in the following diagram.

page
page
form
separator
page
page
form
form
separator
form batch
separator
form
form
form
separator

1.2.3 Flows and Applications


A flow is a collection of definitions describing the processing, enhancement and other
parameters that define how batches of forms will be identified and processed in the
eFLOW system.
An application, or workflow, may consist of one or more flows. A flow is a given path
through a workflow. Similar forms may require different processing (some passing
through more, fewer, or different stations than others). In this case, you will create
two or more flows within an application so that different forms will be processed
according to their differences in format and content.

User's Guide | 15
Overview of eFLOW
Building an Application

1.3 Building an Application


During system setup, you build a copy of the system at your own site, usually
according to the following stages:
1. Preparing the forms that must be processed by the system.
2. Creating an application and flow set.
3. Defining the forms that will be processed by the system.
4. Defining the flows that will be used to process the forms.
5. Defining functions to be performed upon events.
6. Defining the exceptions that may occur during the data entry process.
7. Defining lookup tables for use during the Completion station.
8. Customizing the Completion station screen layout.
9. Testing the data entry part of the system.
10. Tuning the system.
11. Constructing interfaces to parts of the system that are not included in eFLOW.
12. Testing the full system.
The stages are described in greater detail below:

1.3.1 Preparing Forms for Processing


To prepare the forms that will be processed, you need the following material:
 Sample empty forms of each type of form to be processed by the system.
 Sample batches of completed forms. These batches should include all cases that
will be handled by the system. There should be a sufficient number of these
samples. Generally, several hundred completed forms are required for each form
type.

1.3.2 Application Design

Creating an Application

During this stage you invoke the eFLOW Visual Designer program, and create a new
application. An application is the container that includes all the flows, forms, fields,
data specifications, lookup tables, rules, and screen layouts, in short all the logical
definitions to be used by the eFLOW system.
For more information on creating an application, see section 3.

16 | eFLOW Visual Designer 4.5


Overview of eFLOW
Building an Application

Opening and Defining Flows, Forms and Pages

During this stage you define all the flows, forms, and pages in the system, all the
fields that belong to these forms, and all the links between fields in a form.
For more information on defining flows, forms, and pages, see sections 4 and 5.

Defining Flows

You can define several flows. A flow describes how the forms are organized in a
batch, and also contains parameters for every stage of the data entry process.
For more information on defining flows, see section 4.

Defining Forms and Pages

You can define several forms per flow. A form may contain one or more pages. Each
page should have its own EFI (Empty Form Image).
For more information on defining forms and pages, see section 5.

Defining EFIs

Forms are identified by comparing information received through the runtime


Enterprise Portal modules with images of empty forms (EFIs). It is essential to
carefully consider what information consistently appears on a form and how forms
may be recognized. It is also important to provide appropriate examples for all types
of forms that will be processed.
For more information on defining EFIs, see section 8.

Defining Field Groups, Tables and Fields

Form data is extracted from table items and fields. Specify which fields and tables
contain data that must be processed. It is important to identify the types of
information that are to be expected.
For more information on defining field groups, tables, and fields, see section 6.

Defining Rules, Functions and Events

You then define whether a value is mandatory or appropriate for each field. For
example, you may define that there must be a string in a name field. If there is no
string, the form will be sent to the Completion station. Define functions and events
that can be linked to certain fields in the runtime Completion station.
The flow event mechanism enables you to program the system’s reaction to a
specified event in the various stations. Sets of possible events are defined for the
Scan Portal, File Portal, Processing, ManualID, FormID, Completion, Exceptions, and
Export stations. You can specify functions to be executed when these events occur.
For more information on defining rules, functions, and events, see section 11.

User's Guide | 17
Overview of eFLOW
Defining OCR Engines and Virtual Engines

Defining Layouts

During this stage you customize the entire layout of the Completion screen, for one or
more stations, as per the end-user’s requirements. For example, you can build a
runtime Completion display that will provide tables of critical information in red. You
can provide buttons for better functionality. You can add icons to visually remind
operators of the expected contents of a field, such as a telephone for a telephone
number field, etc.
For a complete guide to using the Layout Designer see the Layout Designer online
help.

Defining Exception Categories and Exceptions

You then define the types of exceptions (exception categories), and exceptions. The
definition of exceptions is also part of form definition. Here, you define all the
problematic cases that may occur in the processed forms, and how these cases
should be handled.
For more information on defining exception categories and exceptions, see section 9.

Defining Lookup Tables

During this stage, you define lookup tables - files that facilitate data entry in the
Completion station by providing drop-down lists of known possible field values.
Lookup tables can be associated with one or more forms. Each item in the lookup
table is associated with a corresponding field in the form.
For more information on defining lookup tables, see section 10.

1.4 Defining OCR Engines and Virtual Engines

1.4.1 Defining and Selecting Engines


The OCR Visual Designer provides pre-tuned engine templates that can be used for
character recognition. It also provides sophisticated parameter control, fine-tuning,
and recognition results generation and checking, for the OCR engines that you use.
Each engine contains a set of parameters defining how recognition is performed for a
particular field. Each engine can be fine tuned using the many accessible parameter
settings.
For more information on defining and selecting OCR engines, see section 12.

1.4.2 Creating Virtual Engines


In order to improve recognition results, instead of a single OCR engine, you can
group engines together to create an OCR virtual engine. A virtual engine contains one
or more engines, specifically configured to optimize the recognition capabilities. Each
engine has specific strengths in recognition performance. Every OCR engine supplies
a prediction of each character that it examines, and supplies a confidence level for

18 | eFLOW Visual Designer 4.5


Overview of eFLOW
Defining Application Workflows

every character it recognizes. The combined results from the OCR virtual engine are
merged using a voting algorithm.
For more information on creating virtual engines, see section 13.

1.4.3 Testing Engines


Once you have finished the procedures to set up new OCR engines and virtual
engines, you may use the engine tester to generate statistics regarding engine
performance in order to evaluate the results.
Use testing results to locate segmentation and recognition problems so as to improve
how engines handle information. Then, using the results that you have generated
with the engine tester, change relevant properties, attributes or enhancement
methods until results improve.
For more information on testing engines, see section 14.

1.5 Defining Application Workflows


eFLOW is fully customizable. You can create, define, and edit a workflow to fit your
needs, depending on the project. You create the stations, data routers that determine
the flow of data and actions performed.
For more information on defining workflows, see section 4.4.

1.6 Running the System

1.6.1 Testing Data Entry System


In this stage you test the data entry part of the system. You test all the stages that
operate during the data entry process: input, recognition, data completion, archive,
and backup.

1.6.2 Tuning the System


There are several aspects of the system that need tuning.

Scanning Parameters

You need to select appropriate parameters for scanning. A good image should contain
data without noisy areas, and with unbroken lines and text. Tuning the scanning
parameters correctly is crucial to the performance of the whole system.

Form Recognition

The first thing that the recognition station does is to recognize (identify) every page
in the batch. Sometimes the results of the identification during the first try are not
satisfactory.

User's Guide | 19
Overview of eFLOW
The eFLOW System

To improve the form identification rate:

1. Check that the scanning parameters are appropriate, and that all the data in the
form exists in the scanned image.
2. Check that the empty form image (EFI) was scanned properly.
3. Prepare a batch of forms for every EFI.
4. Create a multi-page TIF file with this batch.
This process should significantly improve form identification.

1.6.3 Building Interfaces to Other Software Components


In this stage you build the interface between eFLOW files and other components. This
stage varies from one customer to another. The following options are available:
 Creation of reports using TiS XML export data component.
 Transfer of the exported XML/ASCII file to another medium.

1.7 The eFLOW System


TiS has developed the eFLOW unified content platform to deliver the solutions
customers require. Whether information enters an organization via predefined forms
from clients, internet-based e-forms from customers, incoming supplier invoices, or
employees in the field with mobile devices, eFLOW digitally captures and manages
the enterprise’s content from the source through delivery to ERP, CRM, and financial
or other systems.
All TiS product solutions plug into the eFLOW unified content platform and take
advantage of the common services the platform provides.

20 | eFLOW Visual Designer 4.5


Overview of eFLOW
The eFLOW System

1.7.1 eFLOW Products

Integra™

Captures data from all types of structured forms including paper, fax, image files, the
internet and mobile devices. Integra automatically validates and delivers the data to
the target enterprise application. Integra’s exclusive advanced features deliver:
 Greater operator productivity.
 Unprecedented character recognition and error detection.
 Powerful engines with an exclusive voting algorithm to achieve the most accurate
results.
 Faster and more efficient form processing.
 Quick and simple point-and-click application design.
 Minimum human intervention, meaning reduced labor costs and higher data
integrity.

Freedom™

Reads, understands and processes incoming supplier invoices without the need to
predefine the structure of all of the various invoices. Freedom captures, validates and
delivers the data from the invoice to the required applications.
 Freedom handles any type of invoice, including invoices with complicated tables
and multi-page invoices.

User's Guide | 21
Overview of eFLOW
The eFLOW System

 Freedom’s high-speed content recognition replaces the expensive manual process


of keying in data from the invoice.
 Freedom recognizes the invoice and its fields according to keywords and key
terms situated anywhere on the page, such as payment date, sum, name, etc.
 Offers unprecedented character recognition and error detection.
 Offers powerful super engines that vote to achieve the most accurate results.
 Offers faster and more efficient invoice processing.
 Delivers minimum human intervention to reduce labor costs and increase data
integrity.
The comprehensive functionality of eFLOW means that it is the answer to the steadily
increasing amount of paper information and its high costs in terms of time, space,
and money. eFLOW’s exclusive advanced features result in:
 Greater operator productivity.
 Improved character recognition and error detection.
 Faster and more efficient form processing.
 Quick and simple design procedures.
eFLOW’s advanced OCR/ICR technologies achieve unprecedented recognition
accuracy. Its multi-processing engine architecture enables quick and easy creation of
powerful super engines from basic recognition engines. Coupled with code-free
definition of validation rules, human intervention is reduced to a minimum,
immediately yielding reduced labor costs and higher data quality.

Smart™

Smart performs fully-automatic classification of documents flowing into an


organization.
Smart acts as a mailroom application, deciding which department, business unit or
subject each document belongs to, and subsequently, to whom the document should
be directed. Smart can classify incoming documents as invoices, change-of-address
letters, and purchase orders, or it can classify into more general categories, such as
documents belonging to the sales, finance or customer service department. These
categories are called classes.
Smart uses a technique called supervised learning to classify documents with little or
no prior knowledge about them. The software examines a limited sample of
documents from each class, and automatically learns the unique characteristics of
that class. This process is called training. From that point onwards, Smart can classify
any incoming document into the trained classes, with a high level of accuracy, and
with no human intervention.

1.7.2 eFLOW Products Runtime Modules


The runtime modules are automatic or manual stages in the actual eFLOW process as
collections of forms move through the system. These modules are realized by

22 | eFLOW Visual Designer 4.5


Overview of eFLOW
The eFLOW System

stations, where operators or supervisors perform specific tasks in the case of manual
stations, such as Completion or Exceptions.
The input images are captured by the scanner interface and transferred to the
Content Recognition module. Content Recognition consists of a general-purpose
image processing module and an interface to multiple OCR, ICR, and OMR engines.
The results of these engines are processed by a voting mechanism. The final results
of the image processing and recognition process are sent, if necessary, to data
completion. The full results (recognized and completed) are then sent, if necessary,
to the Exceptions module, and then to Export directories. The stored data and images
can be retrieved at any time.

Workflow Consisting of Integra, Freedom, and Smart Modules

The Module Activator is used to run the modules.


Through the Module Activator, you operate the Enterprise Portal, Content
Recognition, Content Validation, and Content Delivery modules, which comprise the
full data-capture process.
eFLOW modules, such as Portal, Recognition, Completion, Exceptions, Export, may be
realized as one or more instances or stations, depending on the workflow and the size
of the project.
The runtime modules are a part of the products. Each product (Integra, Freedom, and
Smart) uses the same family of modules, only the modules (executables) vary from
product to product.

Category Module Description Product

Enterprise ScanPortal Use the ScanPortal module to supply scanned forms to the Integra
Portal system. This application supports a wide range of scanners,
Freedom
including those of the Kodak family.

FilePortal Use the FilePortal module to supply image files of previously Integra
scanned forms to the system.
Freedom

User's Guide | 23
Overview of eFLOW
The eFLOW System

Category Module Description Product

Content FormID The FormID module receives data from the Enterprise Portal Integra
Recognition modules for FormID identification. It automatically identifies a
form using empty form images supplied during the design stage.

ManualID The FormID module receives data from the Enterprise Portal Integra
modules for form identification, when the FormID module cannot
identify the form due to poor scanning resolution or other
difficulties. The user can manually match a scanned image of the
form with the proper empty form image.

Processing The Processing, or Recognition, module receives batches created Integra


by the Enterprise Portal modules. This station is one of the most
Freedom
important parts of eFLOW. It is responsible for recognizing as
much data as possible. The images undergo image enhancement,
automatic form recognition, form removal, and optical character
recognition. Among the many unique features of this module are
separate enhancement algorithms that can be applied to each
field, and powerful character recognition (OCR and ICR) that is
achieved by a sophisticated combination of recognition engines.

FreeMatch The FreeMatch module is the heart of the Freedom application. It Freedom
reads the page and identifies the required data. Freedom reads
the whole page, using a page recognition engine. It then locates
potential keywords and suspected data areas. If keywords are
missing (like the state and zip code in an address) the data is
recognized according to business and topographical rules (e.g.
state is always to the left of the zip code).

Manual The ManualMatch module deals with forms that could not be Freedom
Match identified by the FreeMatch module or have been sent manually
by an operator (Completion and Exception modules). If the
FreeMatch module could not find a single field in the invoice it is
sent to ManualMatch.

This interactive station enables manual matching of the page. By


clicking on the image and selecting a specific area, ManualMatch
runs an OCR engine to recognize this area and connect it to the
field.

In tables, after manually setting a field, it is easy for Freedom to


locate the rest of the row items. There is no need to match more
rows. Freedom will do it automatically.

After being processed through the ManualMatch module, the


invoice continues on to the Processing module.

24 | eFLOW Visual Designer 4.5


Overview of eFLOW
The eFLOW System

Category Module Description Product

Content Completion The Completion module receives data from the Processing Integra
Validation module. The exact data it receives depends upon the design
Freedom
definitions, but typically is invalid or unrecognizable data.
Unrecognized data is completed manually, with or without the
help of data dictionaries. The entire layout of the screen can be
customized for one or more stations through the Layout Designer
application.

Exceptions Most forms have rules governing how various fields are filled in. Integra
For example, one field may require digits only, while another
Freedom
may require a valid address. Once these rules have been
defined, the operator cannot leave the data completion process
until they are obeyed. This can be a problem if an entry is
illegible or incomprehensible. The Exceptions module is designed
to deal with these cases. An exception is a mark on the batch
that allows the operator to leave invalid or incomplete data and
advance to the next form. The exceptions are reported later in
the exception report.

Tile The Tile module is used for mass validation and decreasing the Integra
substitution errors of the recognition engines. The module allows
for the immediate viewing of recognition engine results grouped
in order by alphanumeric character. The Tile module usually
receives data produced by the Processing module, but can be
applied anywhere in the system (using the dynamic workflow)
according to the specific needs of each project. Grouping the
results by fields within flows, for example by grouping machine-
type and handprint fields separately, makes it easier to spot false
results and send them for correction in the Completion module.
Thus substitutions can be more quickly eliminated.

Content Export The Export module exports data to XML and to the common and Integra
Delivery standard format, ASCII, and additionally exports both B&W and
Freedom
color images. During runtime, the Export module receives the
data, converts it to the defined format, and transfers it to the
export directory.

User's Guide | 25
Overview of eFLOW
The eFLOW System

Category Module Description Product

OCR The OCR Analyzer module The OCR analyzer program calculates Integra
Analyzer statistical data for eFLOW form recognition. The statistics are
Freedom
prepared by comparing the batch state after the Processing
station phase (i.e. following automatic recognition) with the
batch state after the Export phase (i.e. following human
corrections). These statistics reflect the success of the
recognition (rejects and false positives) in terms of several levels
of recognition:

• Form identification – FormOut!/FeaturesID.

• Field recognition - the success of OCR per field.

• Character recognition - the success of OCR per character.

1.7.3 eFLOW Enterprise Manager


The Enterprise Manager manages all the top level actions of the eFLOW systems. Use
the Enterprise Manager to create, copy and delete entire applications, to set user
security and monitor login permissions, and obtain licensing and version information.
In the Application Visual Designer, the system integrator can define, but not create
an application. This is an action that can be done solely through the Enterprise
Manager, which uses MMC technology (Microsoft Management Console architecture),
making eFLOW’s top level management tools technologically streamlined with the
latest, future-compatible standards.

1.7.4 Scalability
The system is based on a 3-tier architecture for capturing, processing, and storing
the forms. The network structure facilitates adaptation to changing workloads and
functionality by enabling the addition/removal of system components from the
network with minimal software modifications (configuration definitions).
Once a decision is made to add stations to the system (for example, more content
recognition or content validation stations), the architectural design facilitates an
increase in computing and processing power. eFLOW and its products are fully
scalable.
eFLOW’s flexible configuration and design allows for easy adaptation to the rapidly
changing needs of the computer market. Investment in eFLOW is a smart move, as it
has an open-ended design that can always be built upon.

26 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Desktop

2 Application Designer Desktop

2.1 Using the Desktop


This chapter contains a description of the desktop components, commands, and
options available from the menu bar and toolbar in the eFLOW Application Visual
Designer desktop.
Those familiar with the Windows operating system will be familiar with the menu and
toolbar conventions in the eFLOW Designer module. If you are unfamiliar with the
methods of selecting and invoking commands and options, refer to your Microsoft
Windows manual.
The Application Visual Designer desktop is made of three primary sections:
 Application Explorer
 Working Area
 Object Inspector

Menu Bar

Toolbar

Working Area
Toolbar
Working
Area
Application
Explorer
Object
Inspector

All components of an application are conveniently displayed in a tree structure in the


application explorer area. The application explorer displays a hierarchical list of open
flows and all items contained in each flow. Application items such as forms, pages,
fields, field groups, tables, and exceptions are grouped and can be collapsed or
expanded. Click any tree node to view the information within it.
The working area is where you display empty form images. Tools are provided in the
working area to designate specific data areas on the form for recognition in the
FormID and Processing stations.

User's Guide | 27
Application Designer Desktop
Using the Toolbar

The object inspector displays the properties and events of any object selected in the
application explorer. Change the values of properties or set events using the object
inspector.

2.2 Using the Toolbar


Directly below the menu bar are tools for accessing the commands and options.
These can also accessed from the menu bar. For more information on the menu bar,
see 0.
To find out the name of the button, place the cursor anywhere on the button. A tool
tip appears below it.

Button Description

Save the entire application, including all the flows, forms, pages, exceptions and all other tree
objects, including all properties and events.

Expand the application tree to see all the objects in the tree.

Collapse the application tree to hide the objects in the tree, displaying only the application name,
flow names and names of several categories, for example, exceptions, lookup tables.

Undo is not implemented in this version.

Cut object to clipboard.

Copy object from clipboard.

Paste object from clipboard.

Switch to the OCR Visual Designer.

Switch to the Workflow Visual Designer.

Click to view or hide the application tree.

Click to view or hide the selected object's properties and events.

28 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Menu Bar

2.3 Using the Menu Bar


Six menus are accessed from the Menu bar: File, Edit, Selected, View, Tools, and Help.

2.3.1 File Menu


The File menu contains the following options and commands:

Item Description

Save Save the entire application, including all the flows, forms, pages, exceptions and all
other tree objects, including all properties and events.

Save All A forced save that can be used even if the Save button is inactive.

Check Checks the design for usage errors and opens a dialog indicating problems. Problems
Application refer to errors listed in the logger. It is especially useful for checkboxes, if one of the
Integrity values has been forgotten.

If there are no problems, a No Integrity Problems message is displayed.

Restart Restarts the application.


Application

Expand Expand the application tree to see all the objects in the tree.
Application Tree

Collapse Collapse the application tree to hide the objects in the tree, displaying only the
Application Tree application name, flow names and names of several categories, for example,
exceptions, lookup tables.

Exit Exit the eFLOW Visual Designer.

2.3.2 Edit Menu


The Edit menu contains the following options and commands:

Item Description

Undo Undo is not implemented in this version.

Cut Cut object to clipboard.

Copy Copy object from clipboard.

Paste Paste object from clipboard.

Delete Completely delete object.

User's Guide | 29
Application Designer Desktop
Using the Menu Bar

2.3.3 Selected Menu


The Selected menu contains the list of commands that are available for the selected
(highlighted) object in the application explorer object tree: Note that most commands
are only available for a specific object. For example you can only create a page in a
form. Other commands may be available for more than one object.

Object Menu Items Description Refer To


Selected Shown

Application New Flow Create a new flow (collection of definitions describing the 4.2
parameters that define how forms will be identified and
processed) in the application.

New Exceptions Open a new exceptions category (used to sort exceptions 9.3
Category for workflow routing) in the application.

New Lookup Open a new lookup table (drop-down list of possible field 10.3
Table values used in the Completion station) in the application.

Import Flow Import an existing flow from another application. -

Flow New Supported Add and edit permissions to the flow for user/station access -
Permission and actions.

New Form Create a new form (physical form containing many types of 5.2
data) in the flow.

Set EFI order Arrange the empty form images (EFIs) attached to the 8.3
flow.

Form New Supported Add and edit permissions to the form for user/station -
Permission access and actions.

New Page Create a new page in the form. 5.3.1

Page New Fields Create a new field group (fields linked together in specific 6.2
Group sequence) in the page.

Restore Tables Restore previously created tables. -

Field Group New Supported Add and edit permissions to the field group for user/station -
Permission access and actions.

New Field Create a new field (blank spaces where the form data is 6.6
filled in) in the field group.

New Table Create a new table for the field group. 6.8

Table New Column Create a new column in the table. 6.9.4

Field or New Supported Add and edit permissions to the field or column for -
Column Permission user/station access and actions.

30 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Menu Bar

Object Menu Items Description Refer To


Selected Shown

New Rule Create a rule (defining logical relationships among fields 11.3
and/or columns) for the object.

New VFunction Create a validation function (performing checks on 11.4


allowable data in a field and/or column) for the object.

Exception New Exception Create a new exception (notification in the Completion 9.4
station of invalid data in a field) for the exceptions
category.

BuiltInRules Restore to Undo all changes. -


default

MetaTags New MetaTag Customize. -

Stations New Supported Add and edit permissions to the station for user/station -
Permission access and actions.

Services New Supported Add and edit permissions to the service for user/station -
Permission access and actions.

Roles New Supported Add and edit permissions to the role for user/station access -
Permission and actions.

Lookup Table New Lookup Add a new lookup item to an existing lookup table. -
Item

Compile Lookup Create lookup files from text files. -


Table

User's Guide | 31
Application Designer Desktop
Using the Menu Bar

2.3.4 View Menu


The View menu contains the following options and commands:

Item Description

Object Inspector Click to view or hide the selected object's properties and events.

Tree View Click to view or hide the application tree.

Working Area Tool Show/hide the working area toolbar.


Palette

View Debug View the application debug information (TiS Logger). The logger is a separate window
Information of the application accessed through the system tray.

2.3.5 Tools Menu


The Tools menu contains the list of commands that are available for the selected
object in the application explorer object tree: Note that some commands are only
available for a specific object, such as creating a page in a form. Other commands
may be available for more than one object.

Item Submenu Option Description Refer To

Get New EFI From Obtain an EFI from a selected image file. 3.4.2
File

Scan New EFI Obtain an EFI by scanning in the form. 3.4.3

Copy EFI Copy the selected EFI. 3.4.4

Delete EFI Delete the selected EFI. 3.4.5

Show custom Opens either VS or SharpDev (see Defining Event


solution Functions in the Appendix)

Run PlugIn Application Switch to the Application Visual Designer. -


Designer

OCR Visual Switch to the OCR Visual Designer. -


Designer

Workflow Visual Switch to the Workflow Visual Designer. -


Designer

Attachments View files (EFIs, lookup files, workflows) saved in -


Manager the current application.

32 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Menu Bar

2.3.6 Options Menu


The Options menu contains the following options and commands:

Item Description Refer To

Check integrity on Check that the application design operates correctly. Any errors are -
exit displayed in the logger.

Display node label If selected, displays the caption property instead of the name property in
Visual Designer.

Default Custom Select the default custom environment for creating vfunctions and -
Environment events for fields, field groups, columns, and stations. Options are:

 .Net options: VS (MS Visual Studio 2005) or SharpDev (C#)

 Win32 DLL (DLL not written in .NET) – event can be defined only

2.3.7 Help Menu


The Help menu contains the following options and commands:

Item Description

Contents Display help Table of Contents.

Index Display help index.

TiS Homepage Open the TiS website.

About Display version and copyright information.

User's Guide | 33
Application Designer Desktop
Using the Object Inspector Window

2.4 Using the Object Inspector Window


The frame to the right of the screen is the Object Inspector window. The Object
Inspector contains two tabs: the Properties tab and the Events tab. By default, the
Properties tab is always displayed in the open window. To switch to the Events tab,
simply click on the tab and the Events will appear in the open Object Inspector
window.

The properties of an object (flow, form, page, field group, field, table) define that
object. Properties may be logical (name, type of data, format of data) or physical
(size, location etc.) For more information on object properties, see the properties
section under each type of object.
Objects can also be assigned events. Events are actions that are triggered at a given
station when the object is entered, exited, or a hotkey is pressed. .NET or Win32
DLLs are attached to these events to run special actions. For more information on
object events, see the events section under each type of object.

2.5 The Application Explorer


All components of an application are displayed in a tree structure in the application
explorer area. The tree structure observes the following hierarchy:

34 | eFLOW Visual Designer 4.5


Application Designer Desktop
The Application Explorer

The following example shows all of the icons displayed in the tree structure:

An Application contains many different elements or objects, represented by the icons


listed below:

Icon Meaning Refer To

Application 3

Flow 4

Form 5.1

Page 5.3

Field Group 6.1

Field 6.5

Table 6.7

Column 6.9.4

Rule 11.1

Validation Function 11.4

Exception Category 9.2

Exception 9.1

Lookup Table 10

User's Guide | 35
Application Designer Desktop
The Application Explorer

Icon Meaning Refer To

Lookup Item -

Permission -

2.5.1 Copying and Pasting Objects


You can copy and paste a previously created object.

Objects may only be copied where logically appropriate, that is to a level


hierarchically superior to the object in the application tree. For example, a page
may only be added to a form, since a form may contain one or more pages.

To copy and paste one object to another:

1. Click to select the source object, that is the object you wish copy.
2. Do one of the following:
 From the Selected menu, select the Copy option.
 With the mouse cursor on the highlighted object, click the right mouse button
to open the drop-down menu. Select the Copy option.
3. Click to select the target object, that is the object to which you wish to paste the
source object.
4. Do one of the following:
 From the Selected menu, select the Paste option.
 With the mouse cursor on the highlighted target object, click the right mouse
button to open the object drop-down menu. Select the Paste option.
A copy of the source object will appear in the application tree under the target
object. You may change any properties as appropriate.

2.5.2 Cutting an Object


You can cut a previously created object.

When you cut an object, you can still paste it back into the application object
tree.

To cut an object:

1. Click to select the object you wish to cut.


2. Do one of the following:
 From the Selected menu, select the Cut option.

36 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Working Area

 With the mouse cursor on the highlighted object, click the right mouse button
to open the drop-down menu. Select the Cut option.
The object will disappear from the application tree.

2.5.3 Deleting an Object


You can delete a previously created object.

Once you have deleted an object, it is removed from the system permanently.

To delete an object:

1. Click to select the object you wish to delete.


2. Do one of the following:
 From the Selected menu, select the Delete option.
 With the mouse cursor on the highlighted object, click the right mouse button
to open the drop-down menu. Select the Delete option.
The object will disappear from the application tree.

2.6 Using the Working Area


In the middle of the Application Visual Designer is the working area (or workspace).
In this area it is possible to view images of empty forms. Using these empty form
images, you can instruct eFLOW how to process specific fields in a form, or what
parts of the form should be used to identify it.
The working space toolbar contains items that relate to the object selected in the
application explorer. When a form is selected, for example, the working area will
contain a thumbnail image of any empty form linked to the flow. The working area
can also be used to display a full-scale image of an empty form, such as that shown
below.

User's Guide | 37
Application Designer Desktop
Using the Working Area

Using the working area toolbar, the user can designate areas, or Regions of Interest
(ROIs) where data recognition is to take place. Some of the fields in the form
displayed will be selected for specific processing needs. To do so, click on the Draw
OCR ROI or Draw OMR ROI buttons and drag the cursor to draw area.

2.6.1 Working Area Toolbar

Icon Name Description Enabled For Refer To

Pan Click to select the hand tool cursor, Page, -


Image allowing you to move the EFI around group, field
in the workspace.

Draw Select the area in the EFI where you Field 8.10.1
OCR ROI wish to create an OCR region. Click to
draw the area. A rectangle will appear.
Click and drag the boundaries to fit the
space you wish to delineate. Once you
create an OCR ROI region you may
view and change its properties in the
object inspector. Click anywhere on
the EFI to start drawing an OCR ROI.

Note: OCR ROIs specify which areas


contain field data for which OCR
recognition will be performed.

Draw Select the area in the EFI where you Field 8.10.2
OMR ROI wish to create an OMR region. Click to
draw the area. A rectangle will appear.
Click and drag the boundaries to fit the
space you wish to delineate. Once you
create an OMR ROI region you may
view and change its properties in the
object inspector.

Draw Select the area in the EFI where you Page 8.8
Removal wish to create a removal region. Click
ROI to draw the area. A rectangle will
appear. Click and drag the boundaries
to fit the space you wish to delineate.

Note: Removal regions specify areas in


the form to be removed in the Form
Recognition station.

38 | eFLOW Visual Designer 4.5


Application Designer Desktop
Using the Working Area

Icon Name Description Enabled For Refer To

Draw Select the area in the EFI where you Page 8.9
FormID wish to create a FormID region. Click
ROI to draw the area. A rectangle will
appear. Click and drag the boundaries
to fit the space you wish to delineate.

Note: Form ID regions specify areas of


consistent and constant data in the
form, data that can reliably be used to
identify the form during the
recognition phase.

Erase Click anywhere within the boundaries Page, -


Regions of an ROI. Then click to erase the ROI. group, field

Selection Click to select the selection cursor, Page, -


Mode allowing you to select any object in the group, field
workspace. Once you select an object
you may view and change its
properties. Drag object boundaries to
resize, drag and drop object to move it
within the layout workspace.

Region Use the drop-down to select which Page, 8


Type ROIs you wish to display, or click the group, field
Filter button to cycle through the options.

Choose using the color-coding to


display the following ROIs: Removal
(Blue), OMR (Red), OCR (Red),
FormID (Green), None (White), or All
(all colors).

FormOut! Test the FormOut! effectiveness for Page, -


Test the scanned form. You will be group, field
prompted to select a TIF batch for
which to perform the FormOut! test.

Rotate Rotates the image. Each click rotates Page, -


the image clockwise by 90°. Note that group, field
this rotation is not retained in the EFI
file.

Zoom Out Shrink the EFI display by 10%. Page, -


group, field

Actual Return the EFI display to 50% display. Page, -


Size group, field

Zoom In Enlarge the EFI display by 10%. Page, -


group, field

User's Guide | 39
Application Designer Desktop
Using the Working Area

Icon Name Description Enabled For Refer To

Zoom Bar Select the zoom percentage at which Page, -


the EFI is displayed using the sliding group, field
zoom bar.

For specific information regarding the use of empty form images and the design of
screen layouts, see sections 8 and 7 respectively.

40 | eFLOW Visual Designer 4.5


Application Design
What is an Application?

3 Application Design

3.1 What is an Application?


In order to begin working, you need to create and define an application, which is
essentially a workflow including one or more flows and the definition of all forms,
fields, tables, rules, validation functions, exceptions etc.
An application is a collection of forms and processing parameters that comprise a
complete application package. It includes flows, forms, OCR engines, exceptions,
EFIs, user definitions, and more. You can define many applications in the same
installation. Each application contains its own flows, forms, users, and exceptions.
The application defines which document types will be processed, and how each of
them should be processed. There is usually one application per project.
In an application, you define how many flows and forms you will be using, which EFIs
you want to attach to them, and how you want to define fields and field groups. You
define which OCR engines will be used to interpret the form entries, and what type of
image enhancement and form-removal parameters to apply to achieve the best
results. You can group data items and apply logical and mathematical rules to reduce
the number of exceptions that are returned.

While you can create and run more than one application, you can only work on
one application at a time in the Visual Designer.

3.2 Defining Exception Categories


Exception categories are used to sort exceptions for workflow routing and other
purposes. To create exceptions for the application you must first create appropriate
exception categories. Exceptions are arranged by, and linked to, exception
categories.

Exception categories can only be added to an application object.

To create an exception category:

1. In the application tree select an application object.


2. Do one of the following:
 From the Selected menu, select the New Exception Category option.
 With the mouse cursor on the highlighted application object, click the right
mouse button to open the object drop-down menu. Select the New Exception
Category option.

User's Guide | 41
Application Design
Defining Exception Categories

You can also copy an existing exception category and attach it to the
application.

A new exception category will appear in the application tree.


The exception category properties appear in the Object Inspector.

Exception Category Description


Property

Name The exception category Name specifies the name of the exception category. This
name appears automatically in the Description text box in the Object Inspector
window after you create an exception category. You can change the description if
you want to insert information about the exception category that may be helpful to
you.

Description Provide a short description specifying what the exception category contains, a
string of up to 31 characters.

Caption Specify the name for the exception category as it should appear on the screen.

Color Select a color for the exception category, used for display purposes, as viewed by
the supervisor in the Exceptions station.

To create Exceptions, see section 9.4.

42 | eFLOW Visual Designer 4.5


Application Design
Creating Lookup Tables

3.3 Creating Lookup Tables


eFLOW features the lookup table function, which speeds up data entry in the
Completion station by providing a drop-down list of possible field values. Lookup table
items are predefined alternatives that can replace unrecognized data.

Lookup tables can only be added to the application object.

To create a lookup table:

1. In the application tree select an application object.


2. Do one of the following:
 From the Selected menu, select the New Lookup Table option.
 With the mouse cursor on the highlighted application object, click the right
mouse button to open the object drop-down menu. Select the New Lookup
Table option.

A new lookup table will appear in the application tree.


For more information about lookup tables, see section 10.

3.4 Defining Application EFIs

3.4.1 Empty Form Images (EFIs)


A form is a structured document that includes one or more pages to be filled with
data. The form object is a logical definition.
Physically, a form can have several variations - a different logo, differences in the
exact location or size of the fields on the page, and so on. The same form, printed by
different printers, may have a different ink color, contain minor printing differences,
or have information or fields placed in slightly different locations. For example, a bar
code on one form may appear fractionally higher than on another form. Several
editions of the same form may not be exactly the same size. However, in spite of
minor physical differences, all the variations still represent the same form.
The eFLOW imaging system allows you to associate several physical appearances to a
single logical form. An image file should be made for every physically distinct empty
form.
A form may also contain one or more pages. For every page in the form, you can
define one or more EFIs. The EFIs are the images of the physical form pages without
any filled-in data. As in many cases a physical form has several variations, you can
assign several empty form images (EFIs) to the same logical form.

User's Guide | 43
Application Design
Defining Application EFIs

However, first you must create an EFI. You can create an EFI either from a pre-
scanned image file, or by scanning a form, or from an empty electronic form.
The following section explains how to create an EFI from an image file of the form.
For more information on scanning a form to create an image file, see section 3.4.3.

3.4.2 Creating an EFI from an Image File


If you already have an image file of the empty form, the procedure is to open the file
and then save it as an EFI file.

To create an EFI from an existing image file:

1. In the Tools menu, select the Get New EFI from File option to instruct the system
where to look for the image file.
The following dialog appears:

2. Click on the file name to select the image file.


The image will appear in the preview panel on the right of the dialog.
3. Click the Open button.
You will be prompted to enter a name for the newly created EFI in the Save As
dialog box:

4. Enter a name and click the Save button. Creation is automatic.

44 | eFLOW Visual Designer 4.5


Application Design
Defining Application EFIs

For more information about EFIs, see section 8.

3.4.3 Scanning a New EFI From a Paper Form


eFLOW provides scanning support at both the Enterprise Portal module and the
Application Visual Designer module.
During application setup using the Application Visual Designer, the user can directly
scan an empty form that the system will "learn" and then create a new EFI for. The
user can also directly scan test batches to test EFI form recognition.

3.4.4 Copying an EFI

To copy an EFI:

1. In the Tools menu, select the Copy EFI option.


The Open dialog appears.

2. Select the EFI you wish to copy.


3. Click the Open button.
The Save As dialog appears.

4. Enter a new file name, which must be unique.


5. Click the Save button.

User's Guide | 45
Application Design
Defining Application EFIs

3.4.5 Deleting an EFI

To delete an EFI:

1. In the application tree, select the EFI you wish to delete.


2. Right click on the EFI and select the Delete option.

3.4.6 Renaming an EFI

To rename an EFI:

1. In the application tree, select the EFI you wish to rename.


2. Right click on the EFI and select the Rename option.
3. Enter a new file name, which must be unique.

46 | eFLOW Visual Designer 4.5


Flow Design
What is a Flow?

4 Flow Design

4.1 What is a Flow?


A flow is a collection of definitions describing the processing, enhancement and other
parameters that define how batches of forms will be identified and processed in the
eFLOW system.
An application may consist of one or more flows. A flow is a given path through a
workflow. Similar forms may require different processing (some passing through
more, fewer, or different stations than others).
Physical (actual) forms are grouped into batches, or collections, before they are
scanned. Then, every batch is put into the scanner. The scanner scans each page in
sequence and creates an image file containing all the pages of that batch. The
scanning operator assigns the batch to a particular flow. Every batch is associated
with a certain flow in the system.
The definition of the flow includes the following:
 The forms that are associated with the flow.
 The EFIs that match a form in the flow.
 The properties that are associated with the runtime needs and stages of this flow
(Enterprise Portal, Content Recognition, Content Validation and Content Delivery).

4.2 Creating a Flow


Flows may only be added to the application object.

To create a flow:

1. In the Application Visual Designer tree click (select) the application.


2. Do one of the following:
 From the Selected menu, select the New Flow option.
 With the mouse cursor on the highlighted flow, click the right mouse button to
open the object drop-down menu. Select the New Flow option.

User's Guide | 47
Flow Design
Defining Flow Properties

The flow object will appear in the application object tree. The Object Inspector will
display the flow properties and events.
You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl key,
press the C key), and paste (holding the Ctrl key, press the V key) a previously
created flow object.

4.3 Defining Flow Properties


All the flow properties and events are defined using the Object Inspector window.
When you select a flow by clicking it in the application object tree, its properties are
automatically displayed.

4.3.1 General Flow Properties


The general properties of a flow consist of the flow Name, Description, Label and
Image Resolution. The flow Name appears automatically in the Description text box in
the Object Inspector window after you create a flow. You can change this description if
you want to insert some comments about the flow that may be helpful to you.

Flow Property Description

Name The flow Name specifies the name of the flow. This name appears automatically in
the Description text box in the Object Inspector window after you create a flow. You
can change the description if you want to insert information about the flow that
may be helpful to you.

Description Provide a short description specifying what the flow contains, a string of up to 31
characters.

Caption Provide a name for the flow, which clearly indicates its function.

48 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

Flow Property Description

Image Resolution Define the resolution of the scanned EFI. The default setting is 200 dpi.

4.3.2 Input Flow Properties


In the input flow properties, you can define information about the input files, such as
the path where to get the images, batch name (prefix), batch separation, and the
parameters of input files for a specific flow.

Input Form

In some cases, you may want to associate information with batches that varies from
batch to batch. This is accomplished with a form that contains the fields you need,
defined in eFLOW terms as an Input Form. You define a form as an input form using
the Input Form property.
When you define a form as an input form, the scanner operator scans and assigns
this form once for each batch. Input forms are only used during the Input (Portal)
and Export stations.
In some cases you may want to add a pop-up window for post-scan information
(post-input). This allows the scanner operator to add information about batches. This
information is contained in a logical form (without template). It is only used in the
portal stations. Information may include scan date, number of forms, number of
pages, etc. It may be used for validation purposes, for example to ensure that the
correct number of pages were in fact scanned.

Form Separation

The eFLOW platform supports forms that contain more than one page. The Enterprise
Portal process uses these definitions to determine which scanned pages belong to
each form in the batch.

User's Guide | 49
Flow Design
Defining Flow Properties

Input Flow Sub-Properties

From the Input option group you can set input flow sub-properties.

Property Sub-Property Description

Form Separation Define the end of a form. Click the + button to the left of the Form
Separator property to access the separation method pull down menu,
then click to select one of the separation methods.

Pages in Form For use with the Form Separator counter. Specify a page count for the
form.

Separation Use the pull-down menu to select which form separation method will
Method be used. The following options are available:

None – Do not use any separator.

Blank page – Use blank pages as separators between forms.

Special Separator – Special separator page.

Counter – Specify a page count for the form. Separate forms by


counting the expected number of total pages for the form. Note: All
forms of this type are expected have this exact number of pages.

50 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

Property Sub-Property Description

Batch Define the end of a batch. Click the + button to the left of the Batch
Separation Separator property to access the separation method pull down menu,
then click to select one of the separation methods.

Separation Specify if the batch will contain a separator:


Method
None – Do not use any separator.

Blank page – Use blank pages as separators.

Special Separator – Special separator page.

Counter – Separate according to a specified number of pages in a


batch.

Batch Name

Usually the eFLOW platform gives its own names to the incoming batches by
increasing the batch count number by one. In some cases it may be desirable to
preserve the batch names after scanning - for example, in the case of multi-page TIF
file names given by the scanner.
Select the Keep Batch Name checkbox to instruct the system not to rename the batch.
This may be deemed necessary to preserve the integrity of your file name
convention.

Search Path

The search path is defined using the Search Path property. This is the path that the
Enterprise Portal station examines for image files or electronic forms.

To define a search path:

1. Do one of the following:


 If you know the directory path, enter it into the Search Path text box.
 If you do not know the search path, use the search path builder.
2. Click the button located to the right of the Search Path text box.
The Select Directory dialog opens.

User's Guide | 51
Flow Design
Defining Flow Properties

3. Select an existing image file or enter a file name here.

Keep Color/Gray Image

The eFLOW platform gives you the option of keeping a copy of the form image in its
original color. In some cases when forms are originally gray, it may be desirable to
preserve the original color.
Select the Keep Color/Gray Image checkbox to instruct the system to save the original
image.

The system flattens colors in the imported images.

Batch Name Prefix

Usually the eFLOW platform gives its own names to the incoming batches by
increasing the batch count number by one. In some cases it may be desirable to
specify similarity in batch names after scanning.
In the Batch Name Prefix text box, type a specific prefix which the system will assign
to any batch in the flow that is named by the system. This may be deemed necessary
to preserve the integrity of your file name convention.

Odd/Even Pages Rotation

In some cases you may wish to rotate images in the batch after scanning. For
example, in the case of forms where every second page is upside down, or sideways.
Select the Odd Pages Rotation or Even Pages Rotation properties when you wish to
rotate every odd or every even page.

Input Property Description

OddPages Rotation Rotate the image of every odd numbered page in the batch during the Enterprise
Portal process.

Use the drop-down menu to specify rotating by 0°, 90°, 180° or 270°.

52 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

Input Property Description

EvenPages Rotation Rotate the image of every even numbered page in the batch during the Enterprise
Portal process.

Use the drop-down menu to specify rotating by 0°, 90°, 180° or 270°.

4.3.3 Processing Flow Properties


The flow's processing properties relate to form recognition. Correct form recognition
is crucial, and the eFLOW platform provides many tools that help specifically identify
forms using sophisticated technology. Processing involves the following stages:
 Form image enhancement.
 Form identification and removal.
 Field image enhancement.
 Field segmentation.
 Optical character recognition (OCR) and/or intelligent character recognition (ICR).
 Voting for optimal results.
 Storing image as defined in setup (TIF or DIF).
The Processing properties relate to form recognition. They provide the form
recognition engine with hints that can improve recognition.

Default EFI

Every flow contains one or more logical forms, structured documents that include one
or more pages to be filled with data.
Physically, a form can have several variations - different logo, differences in the exact
location or size of the fields on the page, and so on. The automatic imaging system
enables you to associate image files of several physical appearances to a single
logical form.
The EFIs are images of the empty forms. For every page in the form that is linked to
the flow, you can define one or more EFIs. As in many cases a form has several
variations, you should assign several empty form images to the same form, one for
each possible variation.
The eFLOW platform also allows you to link a default empty form image to the flow
using the Default EFI property. The Default EFI is used for identification purposes when
form identification fails. That is, when a form cannot be matched to any of the empty
form images that have been defined for the forms in the flow, a default empty form
image can be provided.
Use the Default EFI property drop-down menu to select an EFI.

User's Guide | 53
Flow Design
Defining Flow Properties

You can only choose from one of the EFIs that have been linked to the flow's
pages.

If you have not yet created and linked any EFIs, no EFIs will be available. You must
first create the EFI, see section 3.4.2.
For more information about linking EFIs to the flow's pages, see section 8.3.

Setting Other Content Recognition Properties

The Processing properties allow you to define the set of page recognition options -
image enhancement filters that are applied in the Processing station. To select a
processing property, select the checkbox.

Processing Property Description

Default EFI Define the default EFI that will be used if identification fails on a specific page.

Registration Use when forms contain a small amount of constant data, such as lines and boxes.

Not Original Select when using poor-quality forms (e.g. photocopied). This option is also
recommended when the scanner is suspected of producing poor-quality images
(e.g. fax).

Bad Beginning The recognition engine will compare the filled-in form with the empty form starting
at the top left corner of the form. When the engine concludes that there is no
match between the filled-in form and the empty form, it stops the comparison.

In some cases, you may already realize that the top left corner may cause
problems during the comparison (e.g., it is dirty, there is extraneous information
there, etc.). In this case, the engine stops the comparison immediately.

Bad Margins Instruct the recognition engine that the forms were truncated during scanning (or
the paper itself is truncated).

Unrecognized Char Click on the button to select the symbol that represents an unrecognized
character. The operator in the Completion station sees the selected character
(such as *) in place of unrecognized characters.

4.3.4 Enhancement Properties


Enhancement enables post-scan image modification. There are many enhancement
parameters you can use, such as:
 Deskew to correct alignment.
 Noise removal to remove different kinds of noise.
 Lines to remove vertical or horizontal lines.
 Character enhancement to improve character recognition
 Rotation to correct an image that was rotated when it was scanned.

54 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

In the Enhancement text box you can define the sets of image enhancement filters
applied in the Processing module. The following four enhancement options are
available:

Enhancement Property Description

Before FormID Define the set of image enhancement filters that are applied in the Processing
module, to each page, before identifying the page.

Different For Odd/Even Allow the user to set two different sets of page enhancement before the
Pages FormID process, one set for even pages and another set for odd pages.

On Identified Page A DIF file contains the scanned image after form removal. Define the image
enhancement filters to be applied in the Processing module to each page,
before they are saved as DIF images.

On Unidentified Page Define the set of image enhancement filters that are applied in the Processing
module to pages that have not been recognized. Enhancement to apply if page
is not matched.

You can perform enhancement in more than one place in the flow. In each instance,
you can combine elements of the five enhancement filters.
In Integra, the FormID algorithm allows the Processing module to recognize the type
of form and process accordingly. This is accomplished by defining one or more
regions in the EFI as form recognition regions, in the case where there are several
types of forms that differ only by these regions. If at least one FormID region does
not comply with predefined conditions then the form is not matched to the EFI. In
certain cases the quality of the form image may make recognition difficult. Or,
conversely, a form may have constant data that makes recognition easier. It is
important to provide the eFLOW Platform with this information using the following
processing properties.

4.3.5 The Enhancement Builder


Image enhancement comprises one or more customized filters.
Be sure that the selected filters do not corrupt the image so as to interrupt the work
of the OCR. You must use a trial and error procedure to test the strength of the
filters. Use FormOut! to test page recognition.
The enhancement builder screen enables you to test the image enhancement
operations with immediate enhancement results using a supplied sample file. You can
also test the image enhancement operations on your own images, assuming they are
stored as files.
Every enhancement property has a link to the enhancement builder near the
enhancement edit field. To invoke the enhancement builder screen, click the
button to the right of the enhancement property. The Setup Image Enhancement dialog
opens.

User's Guide | 55
Flow Design
Defining Flow Properties

Defining Image Enhancement Properties with Enhancement Builder

To enhance the image of a field prior to OCR, either click the button to open the
Setup Image Enhancement window or enter the enhancement string directly in to the
Enhancement Properties edit field.

The Setup Image Enhancement window allows you to attach enhancement filters
(Deskew, Noise, Lines, Character, and Rotate) and displays a preview of results.
The image on the left is the image before enhancement, while the image on the right
is the enhanced image obtained using the defined filter properties.
This Setup Image Enhancement window contains command buttons that allow you to
alter the display as follows:

Button Description

Select another image file.

Magnify displayed image. Each click magnifies by 25%.

Shrinks displayed image. Each click shrinks by 25%.

Use the zoom scrollbar to shrink or enlarge the image by 1% with each click.
As you add enhancement filters from the available options, the corresponding
commands, called tokens, are added to the string in the Enhancement edit box.

56 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

For example, if you click the Wipe Black Background button, the token "/b" appears in
the Enhancement edit box. If you click Deskew and Register at and define the desired
coordinates, the token "/d10,10" is displayed.
Three buttons affecting these tokens appear in all five tabs:

Button Description

Delete the last token applied.

Delete all tokens from the enhancement edit box.

Apply the selected enhancement and update the enhanced image viewing area accordingly.

To change the values, first remove unwanted token(s) from the enhancement
string. Either delete the token(s) directly in the enhancement edit box, or click
the delete last token button to remove tokens from the end. Changing the
properties and clicking the Apply button will not apply new properties.

Correcting skewed images and black backgrounds

From the Deskew tab of the Setup Image Enhancement window, you can the following:
 Correct a skewed image and apply registration (alignment) according to specified
coordinates
 Erase the black background that is produced by some scanners around the page.

Correcting a Skewed Image

To deskew or realign an image, you must specify the new coordinates of the top left-
hand corner of the image. This is called the registration point. You deskew an image
by using the Deskew and Register at button and text boxes:

To deskew an image:

1. In the Deskew and Register at text boxes , enter the pixel


coordinates (x,y) of the new registration point).

2. Click the Deskew and Register at button .

User's Guide | 57
Flow Design
Defining Flow Properties

The corresponding command token and selected coordinates are added to the
enhancement string.
3. Click the Apply button to de-skew the image and view the effect on the image.

The options in this tab apply to whole pages rather than to single ROIs.

To erase black background:

1. Click the Wipe Black Background button .


The corresponding command token is added to the enhancement string.
2. Click the Apply button to clear the black background and view the effect on the
image.

58 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

In the Noise, Lines, and Character tabs whose descriptions follow, enhancement
properties defined via the EFI Setup window will be applied to one ROI only. To
apply these properties to the whole page, you need to define them from the
Process tab in the Flow Setup window.

Eliminating noise and shadow

From the Noise tab of the Setup Image Enhancement window, you can eliminate excess
noise (specks) and shadows from a scanned image.

This enhancement feature should be used with care, as it increases processing


time.

Using the Noise Filter button and options, you can define the maximum
size of a speck of noise (n by n pixels) and the method of noise removal.

To remove noise from the scanned image:

1. In the Noise Filter spin box , enter the maximum speck size.
2. If you want to apply a more thorough form of noise removal, select the Strong
checkbox.
3. If you want to apply the pepper algorithm for noise removal, select the Pepper
checkbox.
4. Click Noise Filter and then the Apply button to apply the filters and view the effect
on the image.

Strong and Pepper are two specific algorithms for noise removal.

User's Guide | 59
Flow Design
Defining Flow Properties

Eliminating lines

The Lines tab of the Setup Image Enhancement window allows you to eliminate
horizontal and vertical lines that are part of the EFI, leaving all the characters intact.

In this tab you can specify removal of horizontal and vertical lines, and the minimum
length and length/thickness ratio for this removal.
The default is to remove only those lines that are longer than 50 pixels, and whose
length is at least 20 times greater than the thickness.

To horizontal and vertical lines that are part of the EFI:

1. In the Removal Horizontal Lines spin box, enter the minimum line length for
removal.
2. In the Removal Vertical Lines spin box, enter the minimum line length for removal.
3. In the X/Y Ratio spin box, enter the minimum thickness ratio for horizontal lines.
4. In the Y/X Ratio spin box, enter the minimum thickness ratio for vertical lines.
5. Click the Remove Horizontal Lines and Remove Vertical Lines buttons.
The corresponding token and properties are added to the enhancement string.
6. Click the Apply button to apply the filters and view the effect on the image.

Defining character enhancements

The Character tab of the Setup Image Enhancement window allows you to define how
characters are enhanced.

This enhancement feature should be used with care, as it greatly increases


processing time. It should not be applied to a whole page.

60 | eFLOW Visual Designer 4.5


Flow Design
Defining Flow Properties

The Character tab contains the following options:

Option Description

Dot-matrix A low-quality printer (e.g., dot matrix) prints data.


Filter

Connect Gaps Connect characters that have been broken during scanning. The property defines the size
Over of the gaps that will be connected.

Note: Setting too high a value may add extraneous lines.

To apply the dot-matrix filter and gap connection:

1. In the Dot-matrix Filter spin box, enter a value and then click the Dot-matrix Filter
button.
The corresponding token and selected properties are added to the enhancement
string.
2. In the Connect Gaps Over spin box, select the value in pixels and then click the
Connect Gaps Over button.
The corresponding token and selected properties are added to the enhancement
string.
3. Click the Apply button to apply the filters and view the effect on the image.

Rotating Images

The Rotate tab of the Setup Image Enhancement window allows you to rotate the
image:

The options here enable you to rotate the image in increments.

To rotate image:

1. From the Rotation list box, select the image rotation and then click the Rotation
button.
2. Click the Apply button to rotate the image.

User's Guide | 61
Flow Design
Workflow Visual Designer

4.3.6 Export Flow Properties

Defining Data to be Saved

In the Export properties you can define what images or data are saved, and where
they are saved.

Export Property Description

Original Input Export original images, including JPG and GIF files.

Original TIF Export original input TIF.

Registered Image Export the registered input image. (The registered image is the original image
which has been deskewed).

Formout Image Export DIF file.

FormOut! is used during recognition. The algorithm sets the FormID using one or
more regions in an EFI.

Data Format Select the format of the exported data:

• INI file.

• Delimiter Separated - If selected, a new property will appear where you will
select the delimiter character.

Exception Report Select the format of the exception report:


Format
• INI file.

• Delimiter Separated - If selected, a new property will appear where you will
select the delimiter character.

Default Encoding The character encoding that will be used by the XML document, if files are
exported as XML.

Export Path This is the path to which the images will be exported.

4.4 Workflow Visual Designer


The Workflow Designer allows you great flexibility in workflow setup. With the
Workflow Designer you can:
 Choose the order in which you perform the standard Enterprise Portal, Process,
Completion, Export and Exception modules.
 Clone existing modules.
 Add custom modules (new user-defined modules).
 Save a workflow template.
The Workflow Designer defines the flows of the application. There may be one or
more flows, but all of the flows are defined here at the same time.

62 | eFLOW Visual Designer 4.5


Flow Design
Workflow Design

Before you can use the Workflow Designer you must understand your requirements
and plan the project. You can then define a flow that matches your project plan.
The working area of the Workflow Designer shows a schematic diagram of the flow.
Each box represents a station. Changing this diagram actually changes the flow of
stations in the system.
The Workflow Designer profoundly affects how the runtime stations operate. It
defines:
 Stations that are used.
 How many stations are used (for example, one or two Completion stations).
 In which order the stations operate.
There are several predefined flow templates. You can choose the one that most
resembles your project plan, and then adjust it by adding/removing stations and
changing the routes between them.

4.5 Workflow Design


The Workflow Designer is a graphic interface that allows you to graphically define a
dynamic ordering of modules and all relevant parameters.
The elements of the Workflow Designer are Modules, Data Routers and the Start and
End modules.

4.5.1 Workflow Elements


The workflow elements are defined as follows:

Module Description

Start Marks the beginning of the workflow.

Module The standard modules of both Integra and Freedom: FilePortal, ScanPortal, Processing, FormID,
ManualID, Completion, Tile, Organizer, Exception and Export.

Custom (user-defined) modules.

Note: every module has properties accessible through the Properties Viewer.

Data Provides parameters for routing rules and exception rules, through which you determine which
router collections (which forms) will be routed between the modules.

Every module fetches (gets) collections from a data router at the start of its operation and
returns (puts) collections back to a data router at the end of its operation.

End Marks the exit of the workflow.

User's Guide | 63
Flow Design
Steps to Create a Workflow

4.5.2 Workflow Designer

Before setting up a workflow, you should specify and set all the necessary
properties, definitions and exceptions for the application that you wish to use.

When you open the Workflow Designer, an empty workflow is displayed:

4.6 Steps to Create a Workflow


Once you have designed your workflow pattern, taking into account whether you will
have remote or local scanning, your completion and exception needs, and so on,
implement this workflow pattern by creating an appropriate diagram in the Workflow
Designer window, using modules from the toolbar.
The process has two basic steps:
1. Add modules that you need.
2. Add data routers (links) between the modules.

To create a workflow:

The full process is as follows:


1. Add a module by clicking on a module tool in the toolbar.

64 | eFLOW Visual Designer 4.5


Flow Design
Steps to Create a Workflow

2. In the main window, click where you wish to place the module.
The icon for the module will now appear in the main window with a default name.
3. To define a module, click to select it. Specify property values in the Object
Inspector window.
4. To move a module, click to select it, then drag and drop it to the desired location.
5. To copy, paste, cut or delete a module, click to select the module.
6. With the mouse cursor on the highlighted module, click the right mouse button to
open the drop-down menu. Select the Copy, Paste, Cut or Delete option.
7. To create data routers (links) between the modules, click the center of a module to
select it. Then click the center of the module to which it should be connected.
A data router will appear between the modules.
8. To define a data router, click to select it. Specify property values in the Object
Inspector window.
9. When you have finished making all changes, save the workflow.
The new workflow will be implemented when you open the Enterprise Controller.

4.6.1 Workflow Modules

Standard Modules

Name Icon Description

File Portal Supplies forms from image files to the system.

Scan Supplies scanned forms to the system.


Portal

FormID Receives images from the Enterprise Portal module and performs automatic
form recognition and form removal.

ManualID Receives data from the Processing or the FormID module for FormID
identification. Unrecognized data is completed manually, with or without the
help of data dictionaries. Forms undergo manual form recognition and form
removal.

Processing Receives collections created by any of the Enterprise Portal modules. This
station is one of the most important parts of eFLOW, it is responsible for
recognizing as much data as possible. The images undergo image
enhancement, and optical character recognition.

User's Guide | 65
Flow Design
Steps to Create a Workflow

Name Icon Description

Completion Receives data from the Processing station. The exact data it receives
depends upon the design definitions, but typically is invalid or unrecognizable
data. Unrecognized data is completed manually, with or without the help of
data dictionaries.

Exceptions Collects the exceptions that were marked for batches during the Completion
station and presents them to the exception handler for clarification and
resolution. The exception handler will resolve the exceptions, clarifying
information that was missing or incorrect on the forms.

Export Exports data to XML and ASCII formats, and additionally exports both B&W
and color images. During runtime, the Export module receives the data,
converts it to the defined format, and transfers it to the export directory.

Additional Modules

Name Icon Description

Organizer Allows you to delete pages from a multi-page batch, insert new pages into a
new multi-page batch (also by scanning), and resort or rescan pages.

Tile Displays in tile format all data recognized by character (for example, all
characters recognized as an A). Allows you to identify which characters are
correct and which are not.

SimpleAuto Custom station that performs Get and Put functions for collections using
customized CSM.

Custom User-defined module.

Controller Station that displays a run-time workflow and its stations graphically, and
enables a user to monitor and control each of the flows of the application,
performing actions such as opening additional stations where necessary and
deleting collections or moving them from one station queue to another.

Freedom Modules

Name Icon Description

FreeLearning Allows you to correct ROIs that were not identified during
processing. Select characters in the image and assign them to the
relevant fields. This in effect teaches the system the correct location
of ROIs for similar forms. This information is then used to build a
new script that will be used for forms of this type.

66 | eFLOW Visual Designer 4.5


Flow Design
Steps to Create a Workflow

Name Icon Description

FreedomCompletion Manually complete all the previously unrecognized information in all


semi-structured forms. This module enables you to complete all the
missing data and fix errors in the identified data quickly and easily.

Due to the nature of semi-structured documents, there are times


when the fields themselves aren’t identified correctly. This module
helps to solve this problem as well.

FreeBuild Takes information from the CollectPages table, which contains


information about learned forms and compiles it in the templates
table. This information is used to create a new script for forms of a
similar type.

FreeBuild is not actually a GUI-based module but rather a system


process that runs in the background.

FreeMatch Performs form identification only. Image files may be directly


received from an Enterprise Portal module. After receiving the image
files, the FreeMatch module rapidly identifies them and then sends
them to the Recognition queue, or to the ManualMatch station if
fields are incomplete.

ManualMatch Used to find manually different scripts that will match different types
of documents.

Using this module, it is possible to relocate all identified fields and


locate unidentified fields. Or, if some mandatory fields were not
identified, it is possible to set these fields and let Freedom calculate
the rest of the fields.

FreeProcess Performs data identification using virtual engines. Once an image file
is received, the FreeProcessing module processes it and then
generally sends them together with the text results to the
FreeCompletion queue. The goal of the FreeProcessing station is to
recognize as much data as possible to minimize the need for manual
recognition in the FreeCompletion module.

FreeException Collects the exceptions that were marked for batches during the
FreeCompletion station and presents them to the exception handler
for clarification and resolution. The exception handler will resolve the
exceptions, clarifying information that was missing or incorrect on
the forms.

Smart Modules

Name Icon Description

Categorizer Receives forms from Portal or FreeMatch stations. Sorts forms into predefined
categories or classes. Delivers classification data to Export station.

User's Guide | 67
Flow Design
Workflow Module Properties and Events

4.7 Workflow Module Properties and Events


Every module (with the exception of the Controller station) has its own properties and
many have particular events associated with the specific module. Specify these
properties to tailor the module activity to your needs.
All of a module’s properties are defined using the Object Inspector window. When you
select a module by clicking it in the workflow desktop workspace, its properties are
automatically displayed.
The general properties of a module consist of the module name and description. The
name appears automatically in the Description text box in the Object Inspector after
you create a module. You can change this description if you want to insert some
comments about the module that may be helpful to you. The name should be
alphanumeric.
The general module properties listed below are available for every one of the
modules.
For more information on data router properties, see section 4.8.

4.7.1 General Module Properties

Property Sub-Property Description

General Name The module Name specifies the name of the module. This name appears
automatically in the Description text box in the Object Inspector window
after you create a module. You can change the description if you want to
insert information about the module that may be helpful to you.

Description Provide a short description specifying what the module contains, a string
of up to 31 characters.

Module Work Unit Specify whether the module works with collections or individual forms.
Parameters

Max Work Units Specify the maximum number of collections that the module receives
upon request.

Read Ahead Improves performance by performing the Get function in advance for the
number of work units specified in the value.

Timer Interval The timer interval in seconds. Related to the OnTimer event, which is
fired every time the value of the timer interval second counter is reached
when a station is idle.

Idle Interval The idle interval in seconds. Related to the OnIdle event, which is fired
every time the value of the idle interval second counter is reached when
a station is idle.

Keys List Specify a list of function keys that will trigger function the OnKey events
per station.

68 | eFLOW Visual Designer 4.5


Flow Design
Workflow Module Properties and Events

Property Sub-Property Description

Single Instance If set the module can be launched only once on the same machine.

Workflow Fill Color Fill the module box in the specified color.
View

Text Color Display the module box’s text in the specified color.

Other Command Additional parameters defining module behavior during runtime.


Params

Allow Select checkbox to allow station to run on autorun.


Unattended

Attachment Define which file types are received or saved by this module.
Type

Save Original Save the contents before export.


Contents

4.7.2 Priorities Property


The Priorities property is a very important event property that is used to determine
the order in which workflow modules accept flows and forms. Forms and flows will be
fetched to the module according to the way that they appear in the priority hierarchy.
If the form priority is low, it will be fetched after a form with a higher priority.
For example, you can set priorities based on scan date such that the forms that have
been in the system longer receive a higher priority.
 A priority object is a set of forms, defined using a rule. For example, all the forms
that have a serial number (value in the serial number field) between 5550 and
6000.
 The priority builder allows you to define a hierarchy of priority objects, or sets of
forms, which specifies the order in which forms are processed.
The Priorities window is used to specify the ranking of flows and forms. It can also be
used to removing forms and flows from the priority list. It can further be used to set
rules for field groups.

User's Guide | 69
Flow Design
Workflow Module Properties and Events

Great care must be taken in setting this property to ensure smooth workflow
results.

To set priorities for a module:

1. Select a module for which you wish to set priorities.


2. In the Object Inspector, click the button to the right of the priorities property.
The Priorities window appears.

The window shows a tree of flows available in the application. Click the + sign to
the left of any object to reveal the objects underneath it in the tree. Objects
displayed have their priorities enabled according to the hierarchy.
3. To change the order of priorities within the hierarchy, click to select a flow or form
priority.

4. Use the up and down arrows on the right to move them within the hierarchy
tree.

5. To exclude specific flows or forms, select the object to exclude, then click the
button in the toolbar.
6. Click OK to complete the selection.
7. You can attach rules to a flow or form. Create rules using the Rules Editor tool.
Click the Rules Editor button to open the Rules Editor dialog box.
8. Use the dialog box to create rules that will be applied during routing. For more
information on building rules, see section 11.3.

70 | eFLOW Visual Designer 4.5


Flow Design
Workflow Module Properties and Events

The tools available in the property are listed below. Note that tools for a specific
object become available as the object is selected in the tree. Not every tool is
available for every object.

Button Description

Create a new flow priority.

Insert a new form priority.

Shift object up in priority hierarchy.

Shift object down in priority hierarchy.

Access the rules editor to define a rule for the object.

Remove a priority.

4.7.3 FilePortal Module


Aside from the general module properties, the FilePortal module has the following
properties:

FilePortal Properties

Property Description

StandBy Automatic stations are usually set to standby in production so that incoming forms will be
processed automatically by the station.

StandBy Defines how often stations on standby should look for new batches to process.
Interval

4.7.4 ScanPortal Module


Aside from the general module properties, the ScanPortal module has the following
properties:

ScanPortal Properties

ISIS Level - This parameter sets the scanner ISIS scan level.

4.7.5 FormID Module


Aside from the general module properties, the FormID module has the following
properties:

User's Guide | 71
Flow Design
Workflow Module Properties and Events

FormID Properties

Property Description

StandBy Automatic stations are usually set to standby in production so that incoming forms will be
processed automatically by the station.

StandBy Defines how often stations on standby should look for new batches to process.
Interval

4.7.6 ManualID Module


Aside from the general module properties, the ManualID module has the following
properties:

ManualID Properties

Confirm Default EFIs - If selected the default EFI will be used if a form is not
recognized.

4.7.7 Processing Module


Aside from the general module properties, the Processing (or Recognition) module
has the following properties:

Processing Properties

Property Description

StandBy Automatic stations are usually set to standby in production so that incoming forms will be
processed automatically by the station.

StandBy Defines how often stations on standby should look for new batches to process.
Interval

OCR Only If checked then the module checks only OCR and does not perform FormOut! If unchecked
Mode the module performs both OCR and FormOut!

Engines Select the list of engines.

72 | eFLOW Visual Designer 4.5


Flow Design
Workflow Module Properties and Events

4.7.8 Completion Module


Aside from the general module properties, the Completion module has the following
properties:

Completion Properties

Property Description

Field Group Filter Open a dialogue window to select which fields will be handled by this station:

4.7.9 Exceptions Module


Aside from the general module properties, the Exceptions module has the following
properties:

4.7.10 Tile Module


Aside from the general module properties, the Tile module has the following
properties:

Tile Properties

Property Description

Horz. Cell Set the horizontal dimension of each display tile in the Tile module. The tiles are the cells in
Size the table where the characters are displayed in this station.

Vert. Cell Sets the vertical dimension of each display tile in the Tile module. The tiles are the cells in
Size the table where the characters are displayed in this station.

User's Guide | 73
Flow Design
Workflow Module Properties and Events

4.7.11 Export Module


Aside from the general module properties, the Export module has the following
properties:

Export Properties

Property Description

StandBy Automatic stations are usually set to standby in production so that incoming forms will
be processed automatically by the station.

StandBy Interval Define how often stations on standby should look for new batches to process.

Working Offline If checked then the module will work offline.

Export Form Set the condition that defines when to export.


Condition

Save Original Save the contents before export.


Contents

4.7.12 Custom Module


Aside from the general module properties, the Custom module has the following
properties:

Custom Properties

Property Description

Executable The complete path of the module’s executable file.

StandBy Automatic stations are usually set to standby in production so that incoming forms will be
processed automatically by the station.

StandBy Defines how often stations on standby should look for new batches to process.
Interval

74 | eFLOW Visual Designer 4.5


Flow Design
Workflow Module Properties and Events

Property Description

Field Group Open a dialogue window to select which fields will be handled by this station:
Filter

4.7.13 FreeLearning Module


Aside from the general module properties, the FreeLearning module has the following
properties:

FreeLearning Properties

Property Description

Form Count Holds the information from a defined number of forms in the Learning station before being
to AutoSave transferred to the learning database. For example, if this value is set to “3”, then the
Learning station will keep the learned information from 3 forms before storing the
information in the database.

This function is useful in cases were there are large files that take a long time to save to
the database.

Template Define whether to apply learning now or in the Completion module.


Teaching
Mode

4.7.14 FreeCompletion Module


Aside from the general module properties, the FreeCompletion module has the
following properties:

User's Guide | 75
Flow Design
Defining Data Routers (Links Between Modules)

FreeCompletion Properties

Property Description

Doc Merge Mode Define how the system decides how many pages are in one document, for example,
automatically or manually (defined by the operator).

Template From the drop-down list, select Learning only or Learning with completion to determine if
Teaching Mode this station will be executed as learning only or as learning and completion.

4.7.15 FreeBuild Module


Aside from the general module properties, the FreeBuild module has the following
properties:

FreeBuild Properties

Timer Secondary Interval - Sets how often to search for documents.

4.8 Defining Data Routers (Links Between


Modules)
Links must be created between modules to define the way in which flows and forms
will pass between them. These links are called data routers. In order to create a data
router, click on the center of one module and drag the mouse to the center of the
next module.
A data router will automatically be designated every time you create a connection
between modules.

In order to filter what collections and forms pass from module to module, use
the routing rules priorities and exceptions.

4.8.1 Defining Data Router Properties


The name and properties of a data router can be changed as follows. Click to select
the data router whose properties you wish to change. In the Object Inspector, select
the properties that you wish to change and specify appropriate values.

Property Description

Name Specify the name that you would like the data router to have. All names should be unique.
The name field is case sensitive.

Description Give a short identifying description so that other users will understand the purpose of the
data router.

76 | eFLOW Visual Designer 4.5


Flow Design
Defining Data Routers (Links Between Modules)

4.8.2 Routing and Exception Rules


Routing rules can be used to clearly specify down to the field level which data may be
routed along the data router. Fields may be selected that will not be passed along to
the next station, for security or other reasons.

Great care must be taken in setting this property to ensure smooth workflow
results. The workflow depends the source station and the target station. You
must consider this carefully when adding a data router.

To set routing rules:

1. Select a data router for which you wish to set routing rules.
2. Do one of the following:
 In the Object Inspector, click the button to the right of the routing rules
property.
 While the cursor is on the data router, click the right mouse button to access
the drop-down menu. Select the Routing Rules option.
The Routing Rules window appears:

Flow Rules

Flow rules determine in which flow the station participates (of the flows defined under
the application). The dialog box shows a tree of the active flows. Click the expand +
sign to the left of any flow to reveal the objects underneath it in the tree.

By default, all flows are selected for routing, symbolized by the Routing Enabled
button appearing to the left of the object.
If you wish to exclude specific flow select the object that you wish to exclude, then
click the Routing Disabled button on the routing rules toolbar.
Click OK to complete the selection.

User's Guide | 77
Flow Design
Defining Data Routers (Links Between Modules)

The data router will be filtered for fields, forms, pages or other disabled objects. Only
enabled objects will be allowed to pass through to the next module.

FormID Rule

Click on the FormID Rule tab. The following screen is displayed:

You may specify the forms to which the routing rule will apply. Select the desired
radio button:
 All forms.
 Recognized forms only (forms that are matched to an EFI).
 Unrecognized forms only (forms that are not matched to an EFI).
Click OK to complete the selection.

Form Rules

Click on the Form Rules tab. The following screen is displayed:

This tab is enabled only when the work unit of the station is defined as the form
(instead of the batch).

78 | eFLOW Visual Designer 4.5


Flow Design
Defining Data Routers (Links Between Modules)

To specify which forms should be routed along the data router, use the Enable or
Disable buttons located on the routing rules toolbar.
Click OK to complete the selection.

Exception Rules

Exception rules define what happens in the case of data that does not pass basic data
checks set by the user. In the Routing Rules dialog, click on the Exception Rules tab.
The following screen is displayed:

User's Guide | 79
Flow Design
Defining Data Routers (Links Between Modules)

Select the desired radio button to determine how the data router filters exceptions:
 Ignore exceptions (if exceptions are irrelevant).
 Must have at least one exception (for example, the Exceptions station).
 No exceptions allowed (for example, the Export station).
 Must have at least one of the following exceptions (for example, if there is more
than one Exceptions station).
Use the last radio button choice to select collections or forms with exceptions that will
be allowed to pass through to the next module. If you make this selection, choose the
exception category and the exceptions that you wish to permit to pass along the data
router. Check the required checkbox next to the exceptions to be included.
The data router will be monitored (filtered) for collections with matching exceptions.
Only matched collections will be allowed to pass through to the next module.

Custom Routing Rules Expression

You can create custom rules by selecting the Custom routing rules expression radio
button located at the bottom of the dialog. Click the Rules Editor button to open
the Rules Editor dialogue box. For more information about building rules, see section
11.3.
For example, if a field value is greater than 100, you may wish to send the batch to a
given station. If a field value is less than 100, you may wish to send the batch to a
different station. Invoices of differing amounts may be treated differently as to
exceptions.

4.8.3 Save a Workflow


Save a workflow by doing one of the following:
 From the file menu, select the Save option.

 Click the Save button.


 A dialog box opens to confirm Reset Application to update changes. Click Yes to
reset, or click No to save without reset.

Workflow and Enterprise Controller

The modules selected and put together as a workflow in the Workflow Designer
window are shown in the runtime Controller and run using the Module Activator.
Before running the workflow you must save the workflow and exit the Visual Designer.
When you open the Controller, all the modules from the workflow will be available in
the Controller window.

80 | eFLOW Visual Designer 4.5


Form and Page Design
What is a Form?

5 Form and Page Design

5.1 What is a Form?


A physical form is the original input, paper or scanned document, that eFLOW converts
into electronic data as output.
An actual physical form may contain many types of data, such as logos, barcodes,
name, date, address, and inventory tables, census data, checkboxes, and many other
types of numerical and/or text data.
A logical form is the eFLOW Platform counterpart to a physical form. The logical form
is a structure that defines the data captured during the data entry process.
After creating or opening a flow, the next step is to create a new form. A flow can
have one or more forms, with each form containing one or more pages.

5.2 Creating and Defining a New Form

5.2.1 Creating a New Form


Forms may only be added to a flow.

To create a new form:

1. In the Application Visual Designer tree, click to select the flow you wish to add a
form to.
2. Do one of the following:
 From the Selected menu, select the New Form option.
 With the mouse cursor on the highlighted flow, click the right mouse button to
open the object drop-down menu. Select the New Form option.

The form object will appear in the application object tree. The Object Inspector will
display the form properties and events.

User's Guide | 81
Form and Page Design
Creating and Defining a New Page

You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl key,
press the C key), and paste (holding the Ctrl key, press the V key) a previously
created form object.

5.2.2 Defining Form Properties


All the form properties are defined using the Object Inspector window. When you
select a form by clicking it in the application object tree, its properties are
automatically displayed.

The general properties of a form consist of the Name, Description, and Caption. The
name specifies the name of a form and should be alphanumeric.
The name appears automatically in the Description text box in the Object Inspector
after you create a form. You can change this Description if you want to insert some
comments about the form that may be helpful to you. The Caption is the name that
appears on the screen.
 The Name specifies the name of the form.
 The Description provides a short, user-defined description of the form.
 The Caption is the name of the form that appears on the screen throughout the
various stations.

5.3 Creating and Defining a New Page


The order in which the pages are linked in the tree is the order in which they will be
viewed at the Completion station.

5.3.1 Creating a New Page


Pages may only be added to a form.

To create a new page:

1. In the Application Visual Designer tree, click to select the form you wish to add a
page to.

82 | eFLOW Visual Designer 4.5


Form and Page Design
Creating and Defining a New Page

2. Do one of the following:


 From the Selected menu, select the New Page option.
 With the mouse cursor on the highlighted form, click the right mouse button to
open the object drop-down menu. Select the New Page option.

The page will appear in the application object tree. The Object Inspector will
display the page properties and events.
You can copy, cut and delete a page as with other objects in the application tree.

5.3.2 Defining Page Properties


All the page properties are defined using the Object Inspector window. When you
select a page by clicking it in the application object tree, its properties are
automatically displayed.

The general properties of a page consist of the Name, Description, Caption, and EFI.
Once you specify a name for the page, it appears automatically in the Description text
box. The page name should be alphanumeric.
You can change the Description if you want to insert some comments about the page
that may be helpful to you. The page Caption is the name that appears on the screen.

User's Guide | 83
Form and Page Design
Creating and Defining a New Page

 The Name specifies the name of the page.


 The Description provides a short, user-defined description of what the page
contains.
 The Caption is the name of the page that appears on the screen throughout the
various stations.

5.3.3 Selecting and Linking EFIs for a Page


The eFLOW term EFI is a logical definition and means simply images of the empty
forms. As in many cases a form has several variations, you can assign several EFIs to
the same form. For every logical page in the form, you can define one or more EFIs.
Each single EFI is actually an image of an individual physical page within the form.
Once you have created an application, you can either create an EFI from a pre-
scanned image file or scan a form.
For every form that is linked to the flow, and for every page in the form, you can
define one or more EFIs. The EFIs are the images of the forms without the filled-in
data. As in many cases a form has several variations, you can assign several masters
(EFIs) to the same form. EFIs are linked and unlinked to the page using the EFI
property. For more information about linking EFIs, see section 8.3.

You must link an EFI to each page of the form.

Linking an EFI to a Page in a Form

To link an EFI to a page in a form:

1. Select the EFI property and click the button to the right of the EFI property.
The EFI Linking window appears.
In the application tree, under each page will be a list of EFIs with checkboxes.

2. Select an EFI from the list and click the checkbox to attach the EFI to the page.
The EFI is displayed in the preview panel on the right.

84 | eFLOW Visual Designer 4.5


Form and Page Design
Ordering Pages

3. It is possible to link more than one EFI to a page. If you want to add more EFIs,
select additional checkboxes.
4. Click OK to complete the link(s).

Testing Linked EFIs

EFIs need to be tested for accuracy. A group of pages (a batch) is tested to verify
that the system can automatically identify what EFI it belongs to. The system returns
the exact percentage of matching for each page. You can see from the results if there
are any problems with identification. If so, you can use EFI tuning options to make
the matching more flexible, or change the EFI. For more information on changing
EFIs, see section 8.3.
When you compare a batch to the EFI, you also see the exact location of all the ROIs
on the actual recognized pages. You can resize or move an ROI so that it will have
the best location with respect to the images.

This comparison is especially useful if you have fields with no bounding boxes,
so on the EFI it is very hard to know exactly what size and location to give to
the ROI.

The EFI must be tested to ensure that recognition is good. Recognition of 97-100% is
considered optimal. The lower the EFI recognition score, the more noise appears in
the DIF file. The default EFI minimum recognition level is set to 87%, which you can
modify to change the EFI minimum recognition level. For more information on EFI
tolerance, see section 8.5.1.

To test linked EFIs:

1. In the working area by click to select the EFI.


2. Do one of the following:
 From the Selected menu, select the Test EFI option
 With the mouse cursor on the EFI, click the right mouse button to open the
object drop-down menu. Select the Test EFI option.

5.4 Ordering Pages


The order in which the pages are linked in the tree is the order in which the operator
will work in the Completion station. Physical display layout may differ, but the
operator in Completion will move from one page to the next in the order specified
here (by pressing the enter key to proceed from field to field).
The Application Visual Designer supports drag-and-drop editing. To rearrange pages,
click to select the page, drag it with the mouse to the desired location, and drop it
into place.

User's Guide | 85
Form and Page Design
Ordering Pages

To order the pages:

1. In the Object Tree of the form select the page to be moved.


2. Holding the left mouse button down, drag the page to wherever it is to be moved.
The page will appear wherever it has been moved to. All of its properties and any
sub contents (i.e. fields, field groups, tables, etc.) will move with it.

86 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
What is a Field Group?

6 Field Group, Table and Field Design

6.1 What is a Field Group?


A field group is a set of fields - the "blanks" where the information must be filled in.
Name, address, and date are examples of such fields. These fields are the places in
the field group where the variable data is to be filled in. The field group feature allows
these fields to be grouped together.
Why group fields? Field groups link fields together in specific sequence for event
management and easy completion viewing. It does this by displaying the selected
fields together in a particular order in the Completion station. This feature is provided
for ease of keying order. It is therefore important to pay attention to order when
adding fields to the field group. The field order as it appears in the Application Visual
Designer object tree will be reflected exactly in the field order in Completion station.

Field groups can be made of fields that appear in separate areas of the form.
They do not need to be adjacent.

6.2 Creating Field Groups


Field groups can only be added to a page.

To create a field group:

1. In the Application Visual Designer tree, click to select the page you wish to add a
field group to.

User's Guide | 87
Field Group, Table and Field Design
Field Group Events

2. Do one of the following:


 From the Selected menu, select the New Fields Group option.
 With the mouse cursor on the highlighted page, click the right mouse button to
open the object drop-down menu. Select the New Fields Group option.

The field group will appear in the application object tree. The Object Inspector will
display the field group properties and events:
You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl key,
press the C key), and paste (holding the Ctrl key, press the V key), or drag and drop
a field group object.
The field group Name appears automatically in the Object Inspector after you create a
field group. The field group Name should be alphanumeric.

6.3 Field Group Events


Every field group can be assigned events. Events are actions that are triggered in the
Completion station when the group is entered, or exited, or a hotkey is pressed.
.NET or Win32 DLLs are attached to these events to run special actions.
Typical events may be inserting a necessary character not included in the form data,
deleting an unnecessary character included in the form data, changing a common,
known incorrect character to a known correct one, etc.

88 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Field Group Events

In order to set field group events click the Events tab heading which appears in the
Object Inspector after you create a field group. You can toggle between the Properties
tab and the Events tab by clicking the tab headings.

The following triggers for events can be set:

Trigger Description

OnEnter Specify an event that is triggered when entering the group view.

OnExit Specify an event that is triggered when exiting the group view.

Hotkey Specify an event that is triggered when the operator presses a hotkey.

6.3.1 Creating Field Group Events


You may wish to have the field group checked for certain characters when the
operator has finished keying in changes in the Completion station. In other words,
when the field group is exited, you want to run a set of actions.
A script may be specified for the On Group Exit property by typing a .NET or Win32
DLL path into the text box.

XXX

To use an existing DLL, do one of the following:

• Manual entry of full method name:


1. Enter the full method name:
for Win 32: <dll_name>:<function_Name>
for .Net: <Assembly_Name>:<Class_name>:<Method_Name>
2. Select Option>Browse_events _only
(Visual Studio does not open.)
3. Click the browse button.

User's Guide | 89
Field Group, Table and Field Design
Ordering Field Groups

4. In the file explorer, select the relevant DLL


The DLL Explorer opens.
5. Select the relevant Method.

If you DO NOT have an existing DLL:

1. Make sure the browse_events_only option is unchecked.


2. Click the browse button.
The relevant development environment will open as per environment definition.
3. Create and save the method.

6.4 Ordering Field Groups


The order in which the field groups are linked in the tree is the order in which they
will be viewed in the Completion station. Physical display layout may differ, but the
operator in Completion will move from one field group to the next in the order
specified here (by pressing the enter key to proceed from field to field).
The Application Visual Designer supports drag-and-drop editing. To rearrange a field
group click to select the field group, drag it with the mouse to the desired location,
and drop it into place.

To rearrange a field group:

1. In the Application Visual Designer tree, click to select the field group to be moved.
2. Holding the left mouse key down, drag the field group to the desired location.
The field group will appear in the desired location. All of its properties and any
sub-contents (i.e. fields, field groups, tables, etc.) will move with it.

6.5 What is a Field?


Each form is a set of fields - the "blanks" where the information must be filled in.
Name, address, and date are examples of such fields. Fields are the places in the
form where the variable data is to be filled in. The variable data can be either
handwritten, typed, OMR, or bar-coded information. The fields to be processed are
extracted from the image that is isolated from these areas (ROIs), and are sent for
processing.
Fields have a dual purpose:
 They are used to map ROIs in the page image to data fields.
 They are the input fields that the operator sees when keying in data in the
Completion station.

90 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Field groups and tables link fields together in specific sequence for event
management and easy viewing in the Completion station.

6.6 Creating New Fields


Fields may only be added to a field group.

To create a new field:

1. In the Application Visual Designer tree, click to select the field group you wish to
add a field to.
2. From the Selected menu, select the New Field option.
3. With the mouse cursor on the highlighted field group, click the right mouse button
to open the object drop-down menu. Select the New Field option.

The field will appear in the application object tree. The Object Inspector will display
the field properties and events.
You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl key,
press the C key), and paste (holding the Ctrl key, press the V key), or drag and drop
a field object.

6.6.1 Defining Field General Properties


All the field properties are defined using the Object Inspector window. When you select
a field by clicking it in the application object tree, its properties are automatically
displayed.

User's Guide | 91
Field Group, Table and Field Design
Creating New Fields

The field name appears automatically in the Object Inspector after you create a field.
The field name should be alphanumeric.

Property Description

Name The field Name specifies the name of the field. This name appears automatically in the
Description text box in the Object Inspector window after you create a field. You can change
the description if you want to insert information about the field that may be helpful to you.

Description Provide a short description specifying what the field contains, a string of up to 31 characters.

Caption Specify the name for the field as it should appear on the screen.

Label Label that is displayed next to the field.

Auto Tab When a field is assigned a maximum setting, the user will automatically tab to the next field
once the maximum number of characters is entered (in the Completion station).

Max Lines Maximum number of lines expected to be found in the field.

92 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Defining Field Mode

Use the field mode property to specify settings for regular fields and special fields in
electronic form. Click the drop-down list box arrow to choose from one of these
options:

Mode Description

Standard Field that may be filled in.

Radio Button Displayed as radio buttons. Only one may be selected. (Only for electronic forms.)

Checkbox Select one or more checkboxes. (Only for electronic forms.)

Defining Field Type

The field type property allows you to define constraints on the field values, if you
know what type of data belongs to the field. If any type of data may belong to this
field, leave the type undefined. The field is then allowed to contain any type of data.
Use the field type property to specify what general type of information is expected,
that is numerical (date, time, integer, or float), or text. When a specific type of
information is always expected in the field, specify this here.
Click the button to the right of the type property to display the Field Type Settings
dialog box.

The Field Type Settings dialog box enables you to create and edit a mask format. The
Field Type Settings buttons let you select from predefined masks. Use the buttons to

User's Guide | 93
Field Group, Table and Field Design
Creating New Fields

specify what general type of information is expected, that is text, integer, float, date
or time.
If you select a particular mask, the mask format appears in the edit boxes below the
buttons. You can modify the mask or use it as is, or you can erase the mask you have
made using the Erase Mask button.
For more information on editing masks, see 0.
Select the most appropriate edit mask:

Type Description

Text Alphabetic text.

Integer Without decimal point.

Float With decimal point.

Date Choose a date format.

Time Choose a time format.

Select the most appropriate field type for the information that will appear in the field.
The information displayed in the value sections under the buttons will change
according to which field type is selected.
The field type chosen will limit the user to a specific format, accepting only valid
characters. For example, in a data entry field for telephone numbers you might define
a field type that accepts only numeric input. If a user then tries to enter a letter in
this edit box, your application will not accept it.

Text Type

For text you can specify the minimum and maximum expected length of the text.

Integer Type

For an Integer type you can specify the minimum and maximum length of the
number expected, if known. Integers have a maximum length of 9 digits.
To specify the acceptable range, you enter the values in the Value section's Min and
Max text boxes.

For Min, the value of the field cannot be less than the entered value. If you do not
assign a value, the minimum value is not examined.
For Max, the value of the field cannot exceed the entered value. If you do not assign
any value, the maximum value is not examined.
For Default, if there is no other value, this value is applied to the field.

94 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Float Type

Settings for a float type are similar to those of an integer type. You may specify the
minimum and maximum length of the integer, but also how many digits are expected
before and after the decimal point.
For Min and Max length the decimal point does not count, i.e. 1.23 = Min length of 3.
Decimal length is the number of digits you want to have after the decimal point. If you
want only integers, select zero. (This is the same as selecting the integer type.) The
floating digit Decimal Length is always the floating digit + 1.
You may also specify a default value for the field.

Date Type

When the field type is set to date, the following drop-down list box appears:

In this list box, you select the format of the date in the field. The following formats
are available (d=day, m=month, y=year):
 dd/mm/yy
 mm/dd/yy
 yy/mm/dd
 dd/mm/yyyy
 mm/dd/yyyy
 yyyy/mm/dd
The year may appear as two or four digits.
The default date type is dd/mm/yy. Predefined date fields are fixed and cannot be
changed, i.e. only the six date formats listed above are available from this list box. If
you wish to specify another date format, you must create a mask property.
For the date type you may specify a minimum and maximum acceptable date for the
field. eFLOW will accept only dates that fall in the range that you have specified. In
the Value section, use the Min and Max fields, to define the limits of the acceptable
range. Enter the dates in the format that matches the date format you selected.
You can alter the specified date by entering adjustments in the Min or Max fields.
When you mark the Now checkboxes, eFLOW takes the current date from the system
as the minimum or maximum limit.
For example, if you want the minimum acceptable date to be one week ago and the
maximum acceptable date to be the current date, in the Min field, enter the date in
the appropriate format 7 days previous to the present date (i.e. one week ago). For
the Max field click the Now checkbox and leave the Max field blank (i.e. today by
default). The eFLOW Platform will now accept only dates that fall between one week
before the current date and the current date.

User's Guide | 95
Field Group, Table and Field Design
Creating New Fields

Time

The predefined time format is as follows:


 hh:mm
The predefined time field is fixed and cannot be changed. If you wish to specify
another time format, you must create a mask property.

6.6.2 Defining Field Validation


Specify what sort of validation checks will be performed on the data to be found in
the fields.

Validation Description

Double Typing Specify that completion results will be accepted after being confirmed at the Completion
station. (That is, two operators must confirm results.)

ReadOnly Specify that a field is read only by clicking the read only flag.

Value Required Specify that the field must contain a value to be considered valid.

96 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

6.6.3 Specifying Field Display Properties

Edit Mask

The edit mask is used during runtime to display field information. Specify a mask that
represents what text is valid in the field.
The edit mask also restricts the characters that a user can enter into the field in the
Completion and Exception stations. It checks the validity of entered characters and
formats. If the user attempts to enter an invalid character, the edit control will not
accept the character.
Define which characters are acceptable in a field, and how a field will be displayed in
the Completion and Exception stations. The edit mask setting relates to the field type
previously selected.
Once you click the Edit Mask button the Input Mask Editor window opens:

The mask consists of the following three fields:


 The mask itself.
 The Save Literal Characters checkbox that determines whether or not the literal
characters of the mask are saved as part of the data.
 The character used to represent a blank in the mask.
You can either select the most appropriate mask from the list of predefined masks on
the right side of the dialog box, or create your own mask using the parameters on the
left side of the dialog box.

Predefined Masks

You can use the predefined masks scroll box at the right to scroll through predefined
masks. Click to select any predefined mask, and the rest of the dialog box will be
filled in automatically.

Mask Description

Phone With area code.

User's Guide | 97
Field Group, Table and Field Design
Creating New Fields

Mask Description

Extension Phone extension number.

Social Security Social security number.

Short Zip Code Zip code number.

Long Zip Code Zip code number with extra four digits.

Date In dd/mm/yy format.

Long Time 12 hour clock, including seconds and AM/PM display.

Short Time 24 hour clock, not including seconds.

Select a predefined mask to use as your edit mask. When you select a mask from this
list, the eFLOW Platform places the predefined mask in the Input Mask edit box and
displays a sample in the Test Input edit box.

Input Mask

To create your own mask you must first create an input mask using the input mask
parameter. The input mask parameter defines the length, character type, fill
character and other information that define the edit mask. The input mask consists of
three different sections separated by semicolons.
 The first section of the input mask defines the length and character type of the
data that may appear in the field using the special characters defined in the table
below.
 The second section of the input mask is a single character that indicates whether
literal characters from the mask should be included as part of the text.
 The third section of the input mask is the character that is selected to fill in for
blanks (the characters that replaces an empty space displayed in the field).
For example, the input mask for a telephone number with area code could be the
following string:
(000)_000-0000;0;*
The ten 0 characters in the first section require that a numeric character only may
appear in this position. The underscore character automatically inserts a space into
the text.
The 0 character in the second section indicates that literal characters will not be
included in the edit box. A text of 10 digits will be edited during the Completion and
Exception stations.
The * character in the third section indicates that the asterisk is used as a blank in
the mask.

98 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Following are the special characters used in the first section of the input mask to
define the type of character that may appear in the field:

Character Description

! If a ! character appears in the mask, optional characters are represented in the input mask as
leading blanks. If a ! character is not present, optional characters are represented in the input
mask as trailing blanks.

> If a > character appears in the mask, all characters that follow are in uppercase until the end
of the mask or until a < character is encountered.

< If a < character appears in the mask, all characters that follow are in lowercase until the end
of the mask or until a > character is encountered.

<> If these two characters appear together in a mask, no case checking is done and the data is
formatted with the case the user uses to enter the data.

\ The character that follows a \ character is a literal character. Use this character to use any of
the mask special characters as a literal in the data.

L The L character requires an alphabetic character only in this position.

l The l (lowercase L) character permits only an alphabetic character in this position, but doesn't
require it.

A The A character requires an alphanumeric character only in this position.

a The a character permits an alphanumeric character in this position, but doesn't require it.

C The C character requires an arbitrary character in this position.

c The c character permits an arbitrary character in this position, but doesn't require it.

0 The 0 character requires a numeric character only in this position.

9 The 9 character permits a numeric character in this position, but doesn't require it.

# The # character permits a numeric character or a plus or minus sign in this position, but
doesn't require it.

: The : character is used to separate hours, minutes, and seconds in times. If the character that
separates hours, minutes, and seconds is different in the regional settings of the control panel
utility on your computer system, that character is used instead.

/ The / character is used to separate months, days, and years in dates. If the character that
separates months, days, and years is different in the regional settings of the control panel
utility on your computer system, that character is used instead.

; The ; character is used to separate the three fields of the mask.

_ The _ character automatically inserts spaces into the text. When the user enters characters in
the field, the cursor skips the _ character.

User's Guide | 99
Field Group, Table and Field Design
Creating New Fields

Any character that does not appear in the preceding table may appear in the first
section of the mask as a literal character. Special mask characters (those that appear
in the above list) may appear as literal characters if preceded by a backslash
character (\).
Clearing out the input mask parameter (erasing the text box) removes the mask.

When working with multi-byte character sets, such as Japanese shift-JIS, each
special mask character represents a single byte. To specify double-byte
characters using the L, l, A, a, C, or c specifiers, the mask characters must be
doubled as well. For example, LL would represent two single-byte alphabetic
characters or a one double-byte character. Only single-byte literal characters
are supported.

Character for Blanks

Specify a character to use as a blank in the mask. Blanks in a mask are areas that
require user input. This edit box relates to the third field of your edit mask.

By default, this is the same as the character that stands for literal spaces. The
two characters (empty space and literal space) appear the same in an edit box
in the Completion and Exception stations. However, when a user edits the text
in during these runtime stages, the cursor selects each blank character in turn,
and skips over the space character.

Save Literal Characters

Literal characters are inserted automatically, and the cursor skips over them during
editing in the Completion and Exception stations.
Check to store the literal characters from the edit mask as part of the data. This
checkbox toggles the second field in your edit mask.
A 0 in the second section indicates that literal characters should not be included in the
edit box (the box which contains characters to be edited) in the Completion and
Exception stations. Any other character indicates that they should be included.

Test Input

Use Test Input edit box to verify that your mask works. This edit box displays the edit
mask as it will appear on the form.

Masks

Choose Masks to display the Open Masks File dialog box, where you click to select a
file.

Display Rule

Specify under what conditions a field will be displayed in the runtime Completion and
Exception stations.

100 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Use drop-down list box to select the condition for displaying the field. You may
choose among the following options:

Rule Description

Always Always show information.

Never Never show information.

When Empty Show if empty

When Not Empty Show if not empty

When Unrecognized Show if data not recognized

Value Required

Specify if a value is required to be in this field by selecting the checkbox.

6.6.4 Defining Field Lookup Table Properties


These field properties define access to lookup tables in the Completion station.
eFLOW platform features a lookup table function which facilitates data entry in the
Completion station by providing a drop-down list of possible field values. Files
providing ordered, known information such as linked listings of names, addresses,
and identification numbers can serve as predefined values that may replace
unrecognized data. Each item in the lookup table is then associated with an
appropriate field in a corresponding form.

User's Guide | 101


Field Group, Table and Field Design
Creating New Fields

Property Description

LookupTable Choose a lookup table and associate it with the field.

LookupItem Choose a lookup table item and associate it with the field.

Once you have associated a particular item with a field, any field appearing later in the
hierarchy tree may only receive the lookup table items following the one assigned.

Note: The lookup table items should appear in the same order that they appear in the
ASCII file containing the data.

For example, there are three fields in one field group, and three items in a lookup table.
If that first field is assigned lookup table item 2, the second field may only be assigned
lookup table item 3. Because the second field is assigned lookup table item 3, then the
last field will not have a lookup table item available.

Fixed list to use as a lookup list.

Quick Lookup Creates a list of common field values. This property allows the user to display and select
field values from the list when processing a form. For example, the area code field may
have a list of area codes that are commonly used.

ShowListbox Choose the key that when pressed will automatically bring up the list-box of lookup table
exceptions.

Automatic Fill Completes a value from the dictionary once the operator enters characters sufficient to
enable the field's unequivocal identification.

ForceValidation Checks that the field value exists.

For more information about lookup tables, see section 10.

6.6.5 Defining Tile Properties


The Tile module is an optional station usually located before the Completion module
to make the Completion module more efficient. The Tile module groups by recognized
character all the characters that were recognized by the system and offers useful
tools to determine which characters were falsely recognized, quickly and simply.
Using the Tile module, it is possible to identify, which characters are correct and
which are not. The Tile module displays the characters in a tile format, which allows
the user to browse through each character and accept it or reject it. All characters are
grouped together to allow for easy identification.

102 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Check the Supported selection box to enable the Tile module. If the tile property is
enabled, the following properties appear:

Tile Property Description

Character filter Open a virtual keyboard to select characters to be displayed in the Tile station.

Max. Char. Confidence Set the minimum recognition confidence level for a specified character to be
displayed in the Tile station. (Default is 100%, meaning that all of the specified
characters will be displayed.)

6.6.6 Defining Bad Character Level Properties


The bad character level property sets a number of unrecognized characters per field
at which the whole field will appear in the Completion station as a single unrecognized
character (*). It may simply be faster for the operator to visually check the data from
the field and type it, rather than trying to correct a field with too many unrecognized
characters (asterisks). If enabled, this property is typically set at 3 or more.
The following properties can be defined:

Bad Character Level Description

For Display Set the number of unrecognized characters at which the whole field will appear in
Completion as one unrecognized character (*).

For Process Set the number of unrecognized characters at which processing will cease, and the
whole field will appear in Completion as one unrecognized character (*).

6.6.7 Defining Freedom Properties


The following property can be defined for the Freedom module:
The learning display rule sets the condition under which to display the field in the
Learning station.
The following options are available:
 If confidence less than 25%
 If confidence less than 50%
 If confidence less than 75%
 If confidence less than 100%
 Always (recommended)
 Never (No learning will take place.)
 When unrecognized
If the Always (recommended) option is selected, then all fields will be sent to the
Learning station.

User's Guide | 103


Field Group, Table and Field Design
Creating New Fields

6.6.8 Export, Exceptions and Region Delimiter


Defining the field export properties, exceptions, setting the region delimiter
properties:

Property Description

Export Field Flag for archiving this field. (Some fields may be useful for the purposes of
validation, but not necessary for export. Select fields for export, if not all fields are
desired.)

Exceptions Attach an exception to the field. Click the button to the right of the property to
display the Exceptions window. Select the most appropriate exception. Choose
from among the exceptions that are already created.

Following the exceptions property will be a list of available exceptions for the field.
To view these exceptions, click the + button to the right of the exceptions
property. You may also attach exceptions using the Exceptions window.

In the Completion process, the operator can mark exceptions on the batch, and
leave invalid data. The exceptions are reported later in the exception report. For
more information on exceptions, see section 9.

BuiltIn rules Override the default behavior of built-in rules. Click on the + button to the right of
the BuiltIn rules property to display and change the existing rule defaults. Options
are:

FieldEmptyCheck

FieldLengthCheck

FieldValueTypeCheck

FieldRangeCheck

FieldCompletionCheck

LookupTableCheck

Values are True (default) and False to eliminate the check.

ROIDelimiter Insert a specified character (such as - or /) that will function as a separator in the
case of multiple ROIs in a field.

The ROI is the Region Of Interest representing the area of the form in which the
field appears.

VirtualEngine Designate the recognition engine that will be used to recognize contents of the
field. This will set the default virtual OCR engine for the regions. To override the
default, a different virtual OCR engine must be entered under the ROI properties,
virtual engine property.

The virtual engine is the group of OCRs used to process and recognize the data in
the field. For more information on virtual engines, see section 13.

104 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

Property Description

Doc Merge Auto Action Determines where in a multi-page document to take recurring field values (such
as invoice number or date) from. Options are:

First page

Last page

Any but first page

Any but last page

First occurrence

Last occurrence

Multi Document Accepts multiple documents that contain the same ROIs.

6.6.9 Field Events


Every field can be assigned events. Events are actions that are triggered in the
Completion station when the group is entered, or exited, or a hotkey is pressed. .NET
or Win32 DLLs are attached to these events to run special actions.
Typical events may be inserting a necessary character not included in the form data,
deleting an unnecessary character included in the form data, changing a common,
known incorrect character to a known correct one, etc.
In order to set field events click the Event tab heading which appears in the Object
Inspector after you create a field. Toggle between the Property tab and the Event tab
by clicking the tab headings.
The following triggers for events are available:

Event Description

OnChange Specify an event that is triggered when changing the contents of the
field.

OnEnter Specify an event that is triggered when entering the field.

OnExit Specify an event that is triggered when exiting the field.

OnKey Specify an event that is triggered when a key is pressed.

User's Guide | 105


Field Group, Table and Field Design
Creating New Fields

Creating Field Events

Scripts are used to check certain properties in a field at the specified event times.
Common properties are:
 Types of characters.
 Length of string.
 Consistency.
A script may be specified in one of two ways:
 Type or search for a .NET or Win32 DLL path in the text box to specify a pre-
existing script.
 Create a new script in one of the custom environments..
For example, you may wish to have the field checked for certain characters when the
operator has finished keying in changes at the Completion station. In other words,
when the field is exited, you want to run a set of actions. A script may be specified for
the OnExit property.

6.6.10 How to Associate Rules with a Field


Several fields in a form can be logically related. It is possible to define rules for a
field.
Almost every form has rules concerning the validity of data in the forms (such as
minimum or maximum values, mathematical relationships between fields, and so on).
These validation rules are defined during the setup process. These rules are especially
important as data entered into the text edit fields in the data completion process
must also obey these rules. The data completion process will prevent an operator
from proceeding to the other information fields until the contents of a field are
corrected or, when the form information is invalid, the operator marks an exception.

To create a rule:

1. In the Application Visual Designer tree, click to select the field you wish to add a
rule to.

106 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Creating New Fields

2. Do one of the following:


 From the Selected menu, select the New Rule option.
 With the mouse cursor on the highlighted field, click the right mouse button to
open the object drop-down menu. Select the New Rule option.

The rule will appear in the application object tree under the field. The Object
Inspector will display the rule properties:
For more information on rules, see section 11.

6.6.11 How to Associate Validation Functions with a Field


Validation checks allow for sophisticated, automatic checking of field contents at
many different levels of inquiry. Not only can fields be related, but they may depend
on one another. For example, zip codes, city names, and state names are related.
Similarly, telephone area codes and city names have a certain relationship, since
telephones area codes are geographically determined. Validation functions can be
designed to perform these sorts of checks. Also, date fields may be logically limited to
certain dates, with any other dates being considered invalid. For example, if in a
current census a respondent answered that he was born in 1840, the date field could
not be considered valid. It is possible to define validation functions for a field, as well
as operations to be executed upon specific window events, such as exiting a field or
pressing a function key.

To create a validation function:

1. In the Application Visual Designer tree. click to select the field you wish to add a
validation function to.

User's Guide | 107


Field Group, Table and Field Design
What is a Table?

2. Do one of the following:


 From the Selected menu, select the New VFunction option.
 With the mouse cursor on the highlighted field, click the right mouse button to
open the object drop-down menu. Select the New VFunction option.

The validation function will appear in the application object tree under the field.
The Object Inspector will display the validation function properties:
For more information on validation functions, see section 11.4.

6.7 What is a Table?


Tables are used when the physical form includes data in the form of a table.
An important feature of a table is that all the values in a column belong to the same
data field. In a table, the data field is defined in the column heading. A column is
equivalent to a regular field. The difference is that it usually contains more than one
value (row) per field (column).
Defining a table in Visual Designer involves defining the physical location, structure
and boundaries of the table in the physical form. In other words, you have to draw
the table on the EFI.
Once a table is defined, the operator in the Completion station can jump between
values in the table using the tab key, in logical order. This makes it easier to go
through the data. The field order as it appears in the Application Visual Designer
object tree will be reflected exactly in the field order in Completion station.

108 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
How to Create Tables

6.8 How to Create Tables


All table properties are defined using the Object Inspector window.
The Name is used to specify the name of the table, and should be alphanumeric. The
Description automatically is assigned the same value as the name, and can be
changed to provide a short description specifying what the table contains. The Caption
is the name that appears on the screen.

Tables can only be added to the field group.

To create a table:

1. In the Application Visual Designer tree, click to select the field group you wish to
add a table to.
2. Do one of the following:
 From the Selected menu, select the New Table option.
 With the mouse cursor on the highlighted field group, click the right mouse
button to open the object drop-down menu. Select the New Table option.

The table will appear in the application object tree. The Object Inspector will
display the table properties and events.

User's Guide | 109


Field Group, Table and Field Design
How to Create Tables

3. Right click on the table to define the number of columns.

4. In the table properties select the number of rows that will be processed in the
table.

110 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Table General Properties

5. On the table level, draw an ROI for the table.

6. Stand on the column separators and manually drag them to the correct location (if
needed).

7. For every column, set the properties, type, virtual engine etc.
You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl key,
press the C key), and paste (holding the Ctrl key, press the V key), or drag and
drop a table object.

6.9 Table General Properties

6.9.1 Location Properties


The table location properties are automatically filled into the Object Inspector when
you create an OCR region for the table.
For more information about creating regions, see section 8.7.

Location Description

Top The distance from the top of the page (in pixels).

Left The distance from the left side of the page.

Width The width of the table.

Height The height of the table.

User's Guide | 111


Field Group, Table and Field Design
Table General Properties

6.9.2 Structure Properties

Creating Rows

Specify (create) the number of rows using the row property.

Table Property Description

Horizontal Margin Specify a horizontal margin between the columns of a table.

Vertical Margin Specify a vertical margin between the rows of a table.

Rows Specify the number of rows expected in the table.

6.9.3 Column Events


Every column can be assigned events. Events are actions that are triggered at the
Completion station when the group is entered, or exited, or a hotkey is pressed. .NET
or Win32 DLLs are attached to these events to run special actions.
Typical events may be inserting a necessary character not included in the form data,
deleting an unnecessary character included in the form data, changing a common,
known incorrect character to a known correct one, etc.

6.9.4 Defining Columns


A column in a table is like a field except that it contains many data entries per form,
one for each row in the column.

112 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Table General Properties

To create a new column:

1. In the Application Visual Designer tree, click to select the table you wish to add a
column to.
2. Do one of the following:
 From the Selected menu, select the New Column option.
 With the mouse cursor on the highlighted table, click the right mouse button to
open the object drop-down menu. Select the New Column option.

The column will appear in the Application object tree. The Object Inspector will
display the column properties and events.
You can also copy a previously created Column. To copy the Column, do the
following:

To copy a column:

1. In the Application Visual Designer tree, click to select the column you wish to copy.
2. With the mouse cursor on the highlighted column, click the right mouse button to
open the object drop-down menu. Select the Copy option.
3. Click to select the table you wish to paste the copied column to.
4. With the mouse cursor on the highlighted table, click the right mouse button to
open the object drop-down menu. Select the Paste option.

Columns may only be added to a table object.

User's Guide | 113


Field Group, Table and Field Design
Table General Properties

General Column Properties

All the column properties are defined using the Object Inspector window. When you
select a column by clicking it in the application object tree, its properties are
automatically displayed.
The column name appears automatically in the Object Inspector after you create a
column. The column name should be alphanumeric.

Property Description

Name The column Name specifies the name of the column. This name appears automatically in the
Description text box in the Object Inspector window after you create a column. You can
change the description if you want to insert information about the column that may be helpful
to you.

Description Provide a short description specifying what the column contains, a string of up to 31
characters.

Caption Specify the name for the column as it should appear on the screen.

Label Label that is displayed next to the column field.

Type When a specific type of information is always expected in the column, specify this here.

Click the button to the right of the type property to display the Field Type Settings
window. Select the most appropriate edit mask.

Mode Mode of display. Click the drop-down list box arrow to choose from one of these options:

Standard – Field that may be filled in.

Check Group – Select one or more checkboxes.

This property defines the column's mode of display in the Completion station.

Max Lines Maximum number of allowed lines in the field.

Defining Column Validation Properties

Specify what sort of validation checks will be performed on the data to be found in
the columns location.

Validation Description

Double Typing Specify that completion results will be accepted after being confirmed at the Completion
station. (That is, two operators must confirm results.)

ReadOnly Specify that a field is read only by clicking the read only flag.

AutoTab When a field is assigned a maximum setting, the operator will automatically tab to the
next field once the maximum number of characters is entered

114 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Table General Properties

Validation Description

EditMask Define a data format, such as date or phone number, that determines which characters
are acceptable in a field, and how a field will be displayed.

Click the button to the right of the property to display the Input Editor Mask window.
Select the most appropriate edit mask.

For more information on edit masks, see section 6.6.3.

Display Rule Specify under what conditions a field will be displayed in the runtime Completion and
Exception stations. Values: Always, Never, When Empty, When Not Empty, When
Unrecognized.

Value Required Specifies that the field must contain a value to be considered valid.

Defining a Column Lookup Table Properties

Specify what sort of validation checks will be performed on the data to be found in
the columns location.

Property Description

LookupTable Choose a lookup table and associate it with the field.

LookupItem Choose a lookup table item and associate it with the field.

Once you have associated a particular item with a field, any field appearing later in the
hierarchy tree may only receive the lookup table items following the one assigned.

Note: The lookup table items should appear in the same order that they appear in the
ASCII file containing the data.

For example, there are three fields in one field group, and three items in a lookup table.
If that first field is assigned lookup table item 2, the second field may only be assigned
lookup table item 3. Because the second field is assigned lookup table item 3, then the
last field will not have a lookup table item available.

Fixed list to use as a lookup list.

Quick Lookup Creates a list of common field values. This property allows the user to display and select
field values from the list when processing a form. For example, the area code field may
have a list of area codes that are commonly used.

ShowListbox Choose the key that when pressed will automatically bring up the list-box of lookup table
exceptions.

Automatic Fill Completes a value from the dictionary once the operator enters characters sufficient to
enable the field's unequivocal identification.

ForceValidation Checks that the field value exists.

User's Guide | 115


Field Group, Table and Field Design
Table General Properties

Defining Column OCR Properties

Specify character values such as maximum and minimum length of strings, case
sensitivity, number of decimal points.

Property Sub- Description


Property

MaxChars Maximum number of characters expected to be found in the column field.

MinChars Minimum number of characters expected to be found in the column field.

MaxWords Maximum number of words expected to be found in the column field.

MinWords Minimum number of words expected to be found in the column field.

ChangeCase Choose from three case-sensitivity options for processing of column field
contents:

Do not change.

Change to upper case – Change all contents to upper case.

Change to lower case – Change all contents to lower case.

Padding Info Select when you want the column field to always have a certain
character/number length (i.e., cents would always be 2 characters). Padding
characters may only be inserted at the beginning or end of a string, such as
lead or decimal zeros.

Character Chose the character to be used for padding empty spaces, such as 0 for
decimal values.

Click the button to the right of the property to display the Character Map
window. Select the character to be used.

Direction Specify character alignment, for example, justified, left or right.

Length Specify the number of characters used for padding. The fixed size of the
region.

Insert Chars Specify that a character to be inserted into the column field during
Processing.

For example, a zip code or area code may be automatically added to a field.

Position Select the start position where the characters are to be inserted during
Processing.

String Specify which character will be inserted during processing.

Replace Chars Select to replace a specified set of characters during processing.

For example, changing a common, known incorrect character to a known


correct one, such as changing x to %.

116 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Table General Properties

Property Sub- Description


Property

Position Select the start position where the characters are to be inserted during
processing.

String Specify which character will be inserted during processing.

ExcludeChars Select characters that should be excluded from column field during
Processing.

Click the button to the right of the property to display the Character Map
window. Select the character to be excluded.

For example, eliminating characters (such as #) in the field that are not
relevant data.

Virtual Engine Select the default OCR virtual engine to be used during the Processing
station for character recognition for the column field.

Defining Tile Properties

The Tile module is an optional station usually located before the Completion module
to make the Completion module more efficient. The Tile module groups by recognized
character all the characters that were recognized by the system and offers useful
tools to determine which characters were falsely recognized, quickly and simply.
Using the Tile module, it is possible to identify, which characters are correct and
which are not. The Tile module displays the characters in a tile format, which allows
the user to browse through each character and accept it or reject it. All characters are
grouped together to allow for easy identification.
Check the Supported selection box to enable the Tile module. If the Tile property is
enabled, the following properties appear:

Tile Property Description

Character filter Open a virtual keyboard to select characters to be displayed in the Tile station.

Max. Char. Confidence Set the minimum recognition confidence level for a specified character to be
displayed in the Tile station. (Default is 100%, meaning that all of the specified
characters will be displayed.)

Defining Bad Character Level Properties

The bad character Level property sets a number of unrecognized characters per field
at which the whole field will appear in the Completion station as a single unrecognized
character (*). It may simply be faster for the operator to visually check the data from
the field and type it, rather than trying to correct a field with too many unrecognized
characters (asterisks). If enabled, this property is typically set at 3 or more.

User's Guide | 117


Field Group, Table and Field Design
Table General Properties

The following properties can be defined:

Bad Character Level Description

For Display Set the number of unrecognized characters at which the whole field will appear in
Completion as one unrecognized character (*).

For Process Set the number of unrecognized characters at which processing will cease, and the
whole field will appear in Completion as one unrecognized character (*).

Defining Freedom Properties

The following properties can be defined for the Freedom module:


The learning display rule sets the condition under which to display the field in the
Learning station.
The following options are available:
 If confidence less than 25%
 If confidence less than 50%
 If confidence less than 75%
 If confidence less than 100%
 Always (recommended)
 Never (No learning will take place.)
 When unrecognized
If the Always (recommended) option is selected, then all fields will be sent to the
Learning station.
Confidence Threshold: when the field has less then the confidence score defined, the
field will stop at the Completion station as if the validation of this field had failed.

118 | eFLOW Visual Designer 4.5


Field Group, Table and Field Design
Table General Properties

Export, Exceptions and Region Delimiter

Defining the field export properties, exceptions, setting the region delimiter
properties:

Property Description

Export Field Flag for archiving this field. (Some fields may be useful for the purposes of
validation, but not necessary for export. Select fields for export, if not all fields are
desired.)

Exceptions Attach an exception to the field. Click the button to the right of the property to
display the Exceptions window. Select the most appropriate exception. Choose
from among the exceptions that are already created.

Following the exceptions property will be a list of available exceptions for the field.
To view these exceptions, click the + button to the right of the exceptions
property. You may also attach exceptions using the Exceptions window.

In the Completion process, the operator can mark exceptions on the batch, and
leave invalid data. The exceptions are reported later in the exception report. For
more information on exceptions, see section 9.

BuiltIn rules Override the default behavior of built-in rules. Click on the + button to the right of
the BuiltIn rules property to display and change the existing rule defaults. Options
are:

FieldEmptyCheck

FieldLengthCheck

FieldValueTypeCheck

FieldRangeCheck

FieldCompletionCheck

LookupTableCheck

Values are True (default) and False to eliminate the check.

Doc Merge Auto Action Determines where in a multi-page document to take recurring field values (such
as invoice number or date) from. Options are:

First page

Last page

Any but first page

Any but last page

First occurrence

Last occurrence

Multi Document Accepts multiple documents that contain the same ROIs.

User's Guide | 119


Field Group, Table and Field Design
Table General Properties

Defining Column Events

Every column can be assigned events. Events are actions that are triggered at the
Completion station when the group is entered, or exited, or a special key is pressed.
.NET or Win32 DLLs are attached to these events to run special actions.
Typical events may be inserting a necessary character not included in the form data,
deleting an unnecessary character included in the form data, changing a common,
known incorrect character to a known correct one, etc.
In order to set column events click the Event tab heading which appears in the Object
Inspector after you create a Column. Toggle between the Property tab and the Event
tab by clicking the tab headings.
The following events are available:

Event Description

OnChange Specify an event that is triggered when value in column is changed.

OnEnter Specify an event that is triggered when entering the column.

OnExit Specify an event that is triggered when exiting the column.

OnKey Specify an event that is triggered when a key is pressed.

120 | eFLOW Visual Designer 4.5


Designing Screen Layout
Table General Properties

7 Designing Screen Layout


eFLOW provides the Layout Designer application for designing screen layouts.
For a complete guide to using the Layout Designer see the Layout Designer online
help.
Enter the Layout Designer application from the Visual Designer according to the
following procedure. This procedure presents an example application as in the
following figure:

1. In the Application Explorer, expand the "Invoices" flow to one level down, to
reveal the "InvForm" form:

2. Expand the "Invoices" flow to one level down, to reveal the "InvForm" form:
3. Select the "InvForm" by left-clicking it.
4. Right-click "InvForm" to display the shortcut menu.

User's Guide | 121


Designing Screen Layout
Table General Properties

5. Select Edit Screen Layout…., as shown above.


After a brief delay, the Layout Designer environment appears. Below is the
appearance of the Layout Designer with "InvForm" loaded. (For convenience the
window in the figure has been shrunk from its full default full-screen appearance.)
Note that no layouts have yet been created.

122 | eFLOW Visual Designer 4.5


EFI Design
What is an EFI?

8 EFI Design

8.1 What is an EFI?


A physical form is a structured document that includes one or more pages to be filled
with data. Physically, a form may have many variations – handwriting and printing
anomalies, different sizes, slightly altered logos, differences in the exact location or
size of the fields on the page, and so on. The eFLOW platform allows you to associate
several physical appearances to a single logical form. Each physically distinct
appearance of an empty form is called an Empty Form Image, or EFI.
The EFI is a template of the structured document, which the system uses to extract
the data. The eFLOW term EFI is a logical definition and means simply images of the
empty forms.
As in many cases a form has several variations, you can assign several EFIs to the
same form. In fact, for every logical page in the form, you can define one or more
EFIs. Each single EFI is actually an image of an individual physical page within the
form.

8.2 Selecting EFIs


Once you have created an application, you can either create an EFI from a pre-
scanned image file or scan a form. This section explains how to define the location of
the image file of the form. For more information on scanning a form to create an
image file, see section 3.4.3.
Using the Application Visual Designer, you will do all the following:
 Scan and create an EFI from a form, or select an EFI from stored image files 8.2.
 Assign an EFI to particular pages 8.3.
 Assign data recognition parameters to particular fields (designated regions of
interest) 8.5.
 Define removal, OCR, and form identification regions 8.8.
 Define parameters for form removal and form identification 8.9.

8.2.1 Defining the EFI Source


EFIs can either be created from image files already existing in the system, or they
can be scanned in.
If you already have an image file of the empty form, the procedure is to open the file
and then save it as an EFI file.

User's Guide | 123


EFI Design
Link, Unlink, Edit and Save an EFI

To define the EFI source:

1. In the Tools menu, select the Get New EFI from File option to instruct the system
where to look for the image file.
The following dialog appears:

2. Click on the file name to select the image file.


The image will appear in the preview panel on the right of the dialog.
3. Click the Open button.
You will be prompted to enter a name for the newly created EFI in the Save As
dialog box:

4. Enter a name and click the Save button.


Creation is automatic.

8.3 Link, Unlink, Edit and Save an EFI

EFIs are linked to specific pages. You must select a page from the application
object tree to link an EFI to.

124 | eFLOW Visual Designer 4.5


EFI Design
Link, Unlink, Edit and Save an EFI

8.3.1 Selecting and Linking EFIs


For every form that is linked to the flow, and for every page in the form, you can
define one or more EFIs (Empty Form Images). The EFIs are the images of the forms
without the filled-in data. As in many cases a form has several variations, you can
assign several masters (EFIs) to the same form. EFIs are linked and unlinked to the
page using the EFI property.

8.3.2 Linking an EFI to a page in a form

To link an EFI:

1. Select the EFI property and click the button to the right of the EFI property.
The EFIs linking dialog opens:

2. To examine an EFI, click the name of the EFI (not the checkbox). The EFI will
appear in the preview panel on the right of the dialog.
3. To link an EFI to the page, select the EFI in the tree on the left of the dialog.
4. Click the checkbox to the left of the EFI.
5. Click OK to complete the link.

It is possible to link more than one EFI to a page.

8.3.3 Unlinking EFIs

To unlink an EFI:

1. Select the EFI property and click the button to the right of the EFI property.
The EFIs linking dialog opens. In the EFIs linking dialog box, all EFIs linked to the
page will have checks in their checkboxes.
2. Choose the EFI that you wish to unlink from the page. Click the checkbox to clear
it.

User's Guide | 125


EFI Design
EFI Toolbar

3. Click OK to complete the unlinking.

8.3.4 Editing Linked EFIs


Visual Designer allows you to change the parameters of an EFI that you have linked.
For more information on editing EFIs, see sections 8.4-8.5.

8.3.5 Saving Linked EFIs


The EFI that you created is automatically saved when you save the entire application.
You may still save this EFI, but it is entirely optional.

To save an EFI:

1. In the working area, click to select the EFI.


2. Do one of the following:
 From the Selected menu, select the Save option.
 With the mouse cursor on the EFI, click the right mouse button to open the
object drop-down menu. Select the Save option.

8.4 EFI Toolbar


The EFI Toolbar provides tools for setting up recognition areas customized to your
specifications. EFI Layout buttons allow you to access commands relating to the EFI
layout setup.

To find out the purpose of any button, place the cursor anywhere on the button and a
tool tip will appear below it.

126 | eFLOW Visual Designer 4.5


EFI Design
EFI Toolbar

The EFI toolbar has slightly different buttons enabled for the page object and for the
field/table objects. For the field, table or column objects, OCR Region of Interest and
OMR Region of Interest buttons are enabled. For the page object, the Removal Region
of Interest and FormID Region of Interest buttons are enabled. This is due to the
different needs of recognition at the page, field and table level.
Form recognition takes place at the level of entire pages, using FormID Region of
Interest. Field (data) recognition, in contrast, takes place at the individual field level.

8.4.1 EFI Tools

Viewing Images

You can change the way the image is displayed in the viewing area by using the
following buttons. Use the Zoom Factor scrollbar to shrink or enlarge the image by 2%
with each click. When you select one type of region all of the other types are not
displayed.

Icon Name Description Enabled For

Pan Image Click to select the hand tool cursor, allowing you Page, group,
to move the EFI around in the workspace. field

Draw OCR Select the area in the EFI where you wish to Field
ROI create an OCR region. Click to draw the area. A
rectangle will appear. Click and drag the
boundaries to fit the space you wish to delineate.
Once you create an OCR ROI region you may view
and change its properties in the object inspector.
Click anywhere on the EFI to start drawing an
OCR ROI.

Note: OCR ROIs specify which areas contain field


data for which OCR recognition will be performed.

Draw OMR Select the area in the EFI where you wish to Field
ROI create an OMR region. Click to draw the area. A
rectangle will appear. Click and drag the
boundaries to fit the space you wish to delineate.
Once you create an OMR ROI region you may view
and change its properties in the object inspector.

User's Guide | 127


EFI Design
EFI Toolbar

Icon Name Description Enabled For

Draw Select the area in the EFI where you wish to Page
Removal create a removal region. Click to draw the area. A
ROI rectangle will appear. Click and drag the
boundaries to fit the space you wish to delineate.

Note: Removal regions specify areas in the form to


be removed in the Form Recognition station.

Draw Select the area in the EFI where you wish to Page
FormID create a FormID region. Click to draw the area. A
ROI rectangle will appear. Click and drag the
boundaries to fit the space you wish to delineate.

Note: Form ID regions specify areas of consistent


and constant data in the form, data that can
reliably be used to identify the form during the
recognition phase.

Erase Click anywhere within the boundaries of an ROI. Page, group,


Regions Then click to erase the ROI. field

Selection Click to select the selection cursor, allowing you to Page, group,
Mode select any object in the workspace. Once you field
select an object you may view and change its
properties. Drag object boundaries to resize, drag
and drop object to move it within the layout
workspace.

Region Use the drop-down to select which ROIs you wish Page, group,
Type Filter to display, or click the button to cycle through the field
options.

Choose using the color-coding to display the


following ROIs: Removal (Blue), OMR (Red), OCR
(Red), FormID (Green), None (White), or All (all
colors).

FormOut! Test the FormOut! effectiveness for the scanned Page, group,
Test form. You will be prompted to select a TIF batch field
for which to perform the FormOut! test.

Rotate Rotates the image. Each click rotates the image Page, group,
clockwise by 90°. Note that this rotation is not field
retained in the EFI file.

Zoom Out Shrink the EFI display by 10%. Page, group,


field

Actual Return the EFI display to 50% display. Page, group,


Size field

128 | eFLOW Visual Designer 4.5


EFI Design
Setting EFI Properties

Icon Name Description Enabled For

Zoom In Enlarge the EFI display by 10%. Page, group,


field

Zoom Bar Select the zoom percentage at which the EFI is Page, group,
displayed using the sliding zoom bar. field

8.5 Setting EFI Properties


Click to select the EFI The EFI properties will automatically appear in the Object
Inspector. Define image enhancement and other EFI parameters.

8.5.1 Define EFI Tolerance


Tolerance is the level of difference allowed between the EFI and the TIF forms on
which removal is performed. If the difference exceeds specific tolerances, the form
may not match the EFI.
You can set the level of difference allowed between the Empty Form Image and the
TIF image before the form is declared unrecognized. The default matching property is
fairly strict (87%), but normal results are usually better than that (98-99%). In cases
where you know (or can see from the results) that the forms do not match the EFI
very well, you may wish to set the matching property tolerance lower.

To set the EFI tolerance level:

1. Click the button to the right of the tolerance property.


The Set EFI Tolerance Parameters dialog opens:

2. To set the tolerances, drag the slide bar or click the arrows to change the current
tolerance settings. The values displayed on the right change accordingly.

User's Guide | 129


EFI Design
Setting EFI Properties

The functions of the parameters are defined as follows:

Parameter Range Unit Description

Vertical 1-100 1/8" Vertical shift between the TIF image and the EFI.

Horizontal 1-100 1/8" Horizontal shift between the TIF image and the EFI.

Scaling 1-5 1% Amount by which the TIF size may differ from the EFI size.

Rotation 1-6 1° Angle that the TIF may be rotated relative to the EFI.

Matching 50-100 1% Difference between the EFI and the TIF.

Note: The default matching index is 87%, which is suitable for most
uses. Change only in special cases.

Scaling Difference 1-5 1% Difference between the vertical scaling and the horizontal scaling.

3. Click the OK button.

8.5.2 Defining Other EFI Properties


The following recognition settings can be defined using drop down menus available to
the left of the properties:

Property Description

Recognition Select an algorithm to be used for Form recognition: FormOut!, FeaturesID, DropOut.
Engine

Default The default algorithm determines the type of removal that is performed on the entire filled
Algorithm form. You can also specify the removal algorithm for a specific ROI, if you are using the
FormOut! recognition algorithm.

Line When variable data overlap constant data, lines in the variable data may be cut. Line
Connection connection reconnects the broken lines.

This parameter is set if you are using the Remove or Safe Remove recognition algorithm.

Integrity The integrity radius specifies the radius of the information that should be preserved
Radius around a point where variable and constant data overlap.

For example, when someone fills in a form, a letter might overlap the box that is filled in.
The constant data would be the lines of the box, whereas the variable data is the filled-in
information.

This parameter is set if you are using the Remove or Safe Remove recognition algorithm.

Try Rotations This FormOut! feature is used when recognition has initially failed. It allows the user to set
the angle of rotation (90°, 180° and 270°) of the form as the system attempts to
recognize the form again.

130 | eFLOW Visual Designer 4.5


EFI Design
Setting EFI Properties

Defining Page Recognition Engines

From the Name list box, select the page recognition engine that the eFLOW platform
should use, either DropOut!, FeaturesID or FormOut! These algorithms will determine
how the EFI (Empty Form Image) is removed from the REG (Registered Image, or
pre-processed TIF) to produce the DIF (Difference) file.
 FormOut! performs form identification and standard form removal (i.e. it removes
the EFI from the REG to produce the DIF).
 FeaturesID uses an alternative algorithm and almost always recognizes the forms,
but does not perform form removal. It is less sensitive than FormOut! to small
changes in the form. This algorithm is very rarely used.
 DropOut! uses yet another algorithm to identify forms that have had EFI details
removed during scanning (for example, if a special ink and color bulb is used to
remove the EFI during the scanning process). You must therefore provide
additional information for processing.

If the form is not a drop-out form, use FormOut! Only if it fails should you try
FeaturesID.

Specifying Default Algorithm

The default algorithm determines the type of removal that is performed on the entire
filled form (you can also specify the removal algorithm for a removal ROI).
Select the default algorithm using the list box for the Default Algorithm property.
The following table describes the default removal algorithms:

Option Description

Keep Everything Both constant and variable data in the DIF file. This is used if certain data in the EFI,
such as decimal points or slashes or dashes, are necessary to the field.

Keep Nothing Neither constant nor variable data in the DIF file (it will be blank). This option is used in
conjunction with removal ROIs to include only selected areas of the form in the DIF file.

Remove Only variable data in the DIF file (i.e. it removes the EFI from the REG to produce the
DIF). This is the default.

Safe Remove Variable data and some constant data that overlap the variable data in the DIF file. The
amount of constant data, included in the DIF file, is defined by the integrity radius. This
algorithm is used in cases, such as handwritten signatures, where important data may
appear outside the ROI.

User's Guide | 131


EFI Design
Setting EFI Properties

Defining Line Connection Parameters

When variable data overlap constant data, lines in the variable data may be cut. Line
connection reconnects the broken lines. The line connection parameter specifies
whether the line connection algorithm should be applied to gaps created by the
removal of overlapping data during the removal process. Line connection is therefore
relevant only to areas where the remove algorithm is applied. Line connection is
valuable if OCR or ICR is to be applied to the form, because connected lines are much
easier for OCR engines to read than are broken lines.
Line connection parameters are set from the Line Connection list box in the Object
Inspector.
The following table describes the line connection options:

Option Description

On Reconnect lines broken during form removal.

Double Horizontal Improve the line connection process when there are two horizontal lines very close
together.

Double Vertical Improve the line connection process when there are two vertical lines very close
together.

Specifying Integrity Radius

The integrity radius specifies the radius of the information that should be preserved
around a point where variable and constant data overlap. The integrity radius is
therefore relevant only when the Safe Remove and Remove algorithm are applied.
Filled-in information often overlaps the constant data of the form. This could lead to
the loss of sensitive information (such as part of a signature) during removal of the
constant data. To prevent the loss of such information, apply the Safe Remove
algorithm and Integrity Radius to such areas, to retain all overlapping constant and
variable data within the integrity radius.
Specify the integrity radius from the Integrity Radius list box buttons in the dialog box.
The options retain all the data within the integrity radius from the intersection of
constant and variable data.
The following table describes the integrity radius options:

Option Integrity radius

Low 0.07 cm

Medium 0.14 cm

High 0.21 cm

132 | eFLOW Visual Designer 4.5


EFI Design
How to Test EFIs

Setting Try Rotations

This parameter helps to identify the EFI that matches the form. If the form has been
rotated during scanning, it detects the misalignment and rotates the form before
attempting to match it with an EFI.
For example, if no presorting is done and the forms may be input upside down, select
both the 0° and 180° options.

This option can slow down form identification, so use it sparingly.

8.6 How to Test EFIs


A very important step is checking that the eFLOW platform properly recognizes the
defined EFI. This ensures that during real batch runs, the constant data (the form
itself) will be identified and removed, leaving only the variable data (the filled-in
part). This test run process is FormOut! It is best performed on a sample of about 20
filled-in forms called test forms.
Once you have created form ID regions for the EFI, you may test to see if the
FormOut! algorithm can match actual forms to the EFI that you have created.

To test the EFI:

1. In the working area, click to select the EFI.


2. Do one of the following:
 From the EFI toolbar, select the Test option.
 With the mouse cursor on the EFI, click the right mouse button to open the
object drop-down menu. Select the Test option.
The file selection dialog opens:

3. Find the batch file containing the TIFs for the forms you wish to compare to your
EFI. Select this file and click the Open button.

User's Guide | 133


EFI Design
How to Test EFIs

The FormOut! test window opens:

Testing proceeds immediately. Both TIF and DIF files are displayed, while results of
the FormOut! test are automatically displayed at the bottom of the window.
The image of the scanned test form - the TIF file - is displayed on the left. If the EFI
is well-defined and eFLOW was able to match it and remove it from the scanned
image, the net image - the DIF - will be displayed on the right, and the results area
at the bottom of the screen will show a page-by-page listing with the EFI name and
the quality of the matching (in %) for each page scanned. Anything above 80% is
considered a good match.
If the EFI is not defined sufficiently well, the results area will show the error
message: FRM could not be matched with EFI. In this case, and in the case of
poor or unsatisfactory matching, the EFI must be rescanned and/or its parameters
adjusted.
To adjust (fine-tune) the EFI and ROI parameters, return to the Application Visual
Designer and change the properties in the Object Inspector.
The dialog contains the following buttons for controlling the process:

Property Description

Open an image batch file for testing.

Open an EFI file for testing.

Run the current batch. Used to run the test batch after rescanning of the EFI and/or fine-
tuning of the EFI parameters.

Run the selected page. Used to re-run selected pages of the test forms after rescanning of the
EFI and/or fine-tuning of the EFI parameters. You can select individual pages from the results
area at the bottom of the screen.

134 | eFLOW Visual Designer 4.5


EFI Design
Defining Regions of a new EFI

Property Description

This button can be toggled to show the EFI or the DIF.

If the DIF is currently displayed, click to view the EFI selected for comparison. If the EFI is
already displayed when this button is clicked, the DIF is shown as it appears after FormOut!

These buttons allow you to increase/decrease the size of the image. Zoom out, return to
original size, or zoom in.

During runtime, a Stop button appears, enabling you to interrupt the


process.

8.7 Defining Regions of a new EFI

8.7.1 What are Regions?


Each form must go through several stages of processing. First, the type of form that
you are dealing with must be established. Then we want to examine the data in the
form, and recognize it.
In order to accomplish these tasks, you need to identify parts of the form in different
ways. Some parts of the form will help us identify which form it is. Other parts of the
form will be examined for the data that has been filled in.
These parts of the forms are called Regions of Interest (ROIs). Regions of interest are
the regions of the scanned form that will undergo various types of data processing.
The basic procedure for defining regions of interest and their parameters is as
follows:
 Delineate each region of interest in the EFI.
 For each region of interest, define parameters according to what purpose it will
serve.

Just as EFIs are linked to specific pages, regions are linked to either pages,
fields, or columns, depending on what purpose they serve. Removal and
FormID regions, which are used for form identification, are linked to pages.
OCR and OMR regions (the regions where data recognition is performed) are
linked to fields or tables.

User's Guide | 135


EFI Design
Performing Form Identification and Removal: Page Level Regions

8.8 Performing Form Identification and Removal:


Page Level Regions
eFLOW supports separate algorithms for different kinds of form identification.

8.8.1 FormID Algorithm


It is recommended that you define FormID for one or more regions in the EFI when
there are several types of forms that differ only by these regions. When a batch of
forms is received, eFLOW locates the corresponding EFI by performing FormOut!
tests, that is by checking the FormID regions.
The FormID tests are quite sensitive. If at least one FormID region does not comply
with the predefined conditions, the form is not matched to the EFI.

Be careful to select regions that contain the same information for all of the
forms that you wish to identify as being of the same type.

8.8.2 Removal Algorithm


A default removal algorithm is defined for the entire form. In addition, a different
removal algorithm can be defined for each region of interest that is defined for
removal.

8.9 Defining FormID Regions


FormID is defined for the EFI at the page level.

To define a FormID region:

1. From the object tree, select the page for which you wish to create a FormID region.

2. In the EFI toolbar click the FormID button.


3. Point at the image and click and hold the left mouse button.
The pointer becomes a cross.
4. Drag the cross to create a rectangle over the desired region, until you reach the
size that you want.
5. Release the mouse button.
A green rectangle appears over the region. The ROI properties will be displayed to
the right in the Object Inspector.

136 | eFLOW Visual Designer 4.5


EFI Design
Defining FormID Regions

8.9.1 FormID Region Properties


You can set the following properties through the Object Inspector:

Property Sub-Property Description

Top Select the starting point setting for the ROI. Defined automatically
when you create or resize the ROI manually.

Left Select the distance from the left for the ROI. Defined automatically
when you create or resize the ROI manually.

Width Specify the ROI width. Defined automatically when you create or
resize the ROI manually.

Height Specify the ROI height. Defined automatically when you create or
resize the ROI manually.

Slice X Columns Split field vertically into two or more ROIs. Select how many columns
to create with the OCR's ROI.

Margin Define the distance between each column.

Slice Split the OCR's ROI vertically into a number of columns, as defined by
the value in the columns property.

Slice Y Rows Split field horizontally into two or more ROIs. Select how many rows
to create with the OCR's ROI.

Margin Define the distance between each row.

Slice Split the OCR's ROI horizontally into a number of rows, as defined by
the value in the rows property.

FormID Algorithm Select a form recognition algorithm.

Note: the FormID algorithm you select must match the identification
region you choose.

FormID Algorithm

The following table describes the form recognition algorithms that are available for an
individual region of interest. The FormID Algorithm property contains three options for
FormID:

FormID Algorithm Property Description

Match EFI The contents of the region of interest must be exactly as in the EFI.

Any Data The region of interest must contain data.

Empty The region of interest must be empty.

User's Guide | 137


EFI Design
Defining FormID Regions

8.9.2 Defining Removal Regions


The Application Visual Designer allows you to define a default removal algorithm. In
addition, a different removal algorithm can be defined for each removal region of
interest.

To create and define a removal region:

1. From the object tree, select the page for which you wish to create a removal
region.

2. Click the Removal Region button in the EFI toolbar at the top of the EFI
workspace area.
3. Point at the image and click and hold the left mouse button.
The pointer becomes a cross.
4. Drag the cross to create a rectangle over the desired region, until you reach the
size that you want.
5. Release the mouse button.
A blue rectangle appears over the region. The ROI properties will be displayed to
the right in the Object Inspector.

Removal Region Properties

Set the following properties through the Object Inspector.

Removal Region Sub-Property Description


Property

Top Select the starting point setting for the ROI. Defined automatically
when you create or resize the ROI manually.

Left Select the distance from the left for the ROI. Defined
automatically when you create or resize the ROI manually.

Width Specify the ROI width. Defined automatically when you create or
resize the ROI manually.

Height Specify the ROI height. Defined automatically when you create or
resize the ROI manually.

Slice X Columns Split field vertically into two or more ROIs. Select how many
columns to create with the OCR's ROI.

Margin Define the distance between each column.

Slice Split the OCR's ROI vertically into a number of columns, as


defined by the value in the columns property.

Slice Y Rows Split field horizontally into two or more ROIs. Select how many
rows to create with the OCR's ROI.

138 | eFLOW Visual Designer 4.5


EFI Design
Performing Field Recognition: Field-Level Regions

Removal Region Sub-Property Description


Property

Margin Define the distance between each row.

Slice Split the OCR's ROI horizontally into a number of rows, as defined
by the value in the rows property.

Removal Algorithm Select from among several options for form removal.

Ignore Ignore mismatches if the region may contain constant data that
differs greatly from the constant data in the EFI. The contents of
such a region will not be taken into consideration during form
recognition.

Note: use this option with care, since too many ignored regions
may significantly reduce the ability of eFLOW to recognize the
form.

Removal Algorithm Properties

The following table describes the removal algorithms that are available for an
individual region of interest.

Option Description

Keep Everything Include both constant and variable data.

Keep Nothing Exclude any data found in the TIF image and block out form areas that should not have
been written in.

Remove Include only variable data.

Note: this is the default removal option.

Safe Remove Include the variable data and some of the constant data that overlaps the variable data.
Used for capturing signatures and other sensitive data. The amount of constant data,
included in the DIF file, is defined by the integrity radius.

Thin Remove Removes constant data with extra care within a region whose constant data overlaps
variable data.

8.10 Performing Field Recognition: Field-Level


Regions

8.10.1 Defining OCR Regions


OCR regions are field locations where data of different types is to be recognized. For
example, your form may contain fields that have dates, numbers, names, mixed text
and numbers, dollar amounts, and so on. By attaching an OCR region to a field or
table, you define what sort of information you expect Integra or Freedom to
encounter in these fields.

User's Guide | 139


EFI Design
Performing Field Recognition: Field-Level Regions

OCR regions can be defined in terms of the type of text and numbers that will
consistently be found in it. Once you have defined a region of interest, you can define
the OCR parameters to be applied to it. Define these parameters using the Object
Inspector.
Once OCR regions have been created and defined, OCR recognition engines are
allocated to each OCR region. These OCR engines are defined using the OCR Visual
Designer. OCR engines can be set with sophisticated parameter control, and the OCR
Visual Designer provides user-friendly tools for fine-tuning and for generating and
checking recognition results.
During the runtime stage, OCR engines are used to recognize field data using OCR
virtual engines and individual engines.

To create and define an OCR region:

1. From the object tree, select the field or table for which you wish to create an OCR
region.

2. Click the OCR Region button in the EFI toolbar at the top of the EFI workspace
area.
3. Point at the image and click and hold the left mouse button.
The pointer becomes a cross.
4. Drag the cross to create a rectangle over the desired region, until you reach the
size that you want.
5. Release the mouse button.
A red rectangle appears over the region. The ROI properties will be displayed to
the right in the Object Inspector.

OCR Region Properties

Set the following properties through the Object Inspector.

Category OCR Region Sub- Description


Property Property

Location Top Select the starting point setting for the ROI. Defined
automatically when you create or resize the ROI manually.

Left Select the distance from the left for the ROI. Defined
automatically when you create or resize the ROI manually.

Width Specify the ROI width. Defined automatically when you create
or resize the ROI manually.

Height Specify the ROI height. Defined automatically when you create
or resize the ROI manually.

OCR Max. Chars Maximum number of characters expected to be found in the


region.

140 | eFLOW Visual Designer 4.5


EFI Design
Performing Field Recognition: Field-Level Regions

Category OCR Region Sub- Description


Property Property

Min. Chars Minimum number of characters expected to be found in the


region.

Max. Words Maximum number of words expected to be found in the region.

Min. Words Minimum number of words expected to be found in the region.

Max. Lines Maximum number of lines expected to be found in the region.

Min. Lines Minimum number of lines expected to be found in the region.

Change Case Choose from three options for processing of region contents:

 Do not change.

 Change to upper case - Change all contents to upper case.

 Change to lower case - Change all contents to lower case.

Force Allows the user to direct the OCR engines to get only numeric or
Alphanumeric only alpha characters as results.

Padding Info Select when you want the region to always have a certain
character/number length (i.e., cents would always be 2
characters). Padding characters may only be inserted at the
beginning or end of a string, such as lead or decimal zeros.

Char Chose the character to be used for padding empty spaces, such
as 0 for decimal values.

Length Specify the number of characters used for padding. The fixed
size of the region. For example, cents would always be 2
characters.

Direction Justify padded characters. Options: justify left, or justify right


during processing. For example, cents would usually be justified
right.

Insert Chars Specify that a character to be inserted into the region during
processing. For example, a zip code or area code may be
automatically added to a field.

String Specify which character will be inserted during processing.

Position Select the start position where the characters are to be inserted
during processing.

Replace Chars Select to replace a specified set of characters during processing.


For example, changing a common, known incorrect character to
a known correct one, such as changing x to %.

Position Select the start position where the characters are to be


overwritten during processing.

User's Guide | 141


EFI Design
Performing Field Recognition: Field-Level Regions

Category OCR Region Sub- Description


Property Property

String Specify which character will be inserted during processing.

Exclude Chars Select characters that should be excluded from region during
processing. For example, eliminating characters (such as #) in
the field that are not relevant data.

Virtual Engine The virtual OCR engine assigned in the virtual engine property
under field properties is allocated as the default, and therefore
this field is normally left empty. (The option none is selected).
Entering a different virtual OCR engine in this field will override
the default virtual OCR engine as allocated under field
properties.

Slice X Columns Split field vertically into two or more ROIs. Select how many
columns to create with the OCR's ROI.

Margin Define the distance between each column.

Slice Split the OCR's ROI vertically into a number of columns, as


defined by the value in the columns property.

Slice Y Rows Split field horizontally into two or more ROIs. Select how many
rows to create with the OCR's ROI.

Margin Define the distance between each row.

Slice Split the OCR's ROI horizontally into a number of rows, as


defined by the value in the rows property.

Other Associated ROIs are linked to fields. Use this property to change the field
Field to which an ROI is linked.

Order in Field For a multi-region field. Use when a field is divided into different
regions. Set/change the order in which the OCR virtual engines
read ROIs in the field. The order in which regions are linked to
the field determines the order in which they are read.

8.10.2 Defining OMR Regions


OMR regions allow you to specify that a field area contains check marks for improved
recognition.

To create and define an OMR region:

1. From the object tree, select the field for which you wish to create an OMR region.

2. Click the OMR Region button in the EFI toolbar at the top of the EFI workspace
area.
3. Point at the image and click and hold the left mouse button. The pointer becomes a
cross.

142 | eFLOW Visual Designer 4.5


EFI Design
Performing Field Recognition: Field-Level Regions

4. Drag the cross to create a rectangle over the desired region, until you reach the
size that you want.
5. Release the mouse button.
A red rectangle appears over the region. The ROI properties will be displayed to
the right in the Object Inspector.

OMR Region Properties

Set the following properties through the Object Inspector.

Category OCR Region Description


Property

Location Top Select the starting point setting for the ROI. Created and changed
automatically when you create, size/resize the ROI manually.

Left Select the distance from the left for the ROI. Created and changed
automatically when you create, size/resize the ROI manually.

Width Specify the ROI width. Created and changed automatically when you create,
size/resize the ROI manually.

Height Specify the ROI height. Created and changed automatically when you create,
size/resize the ROI manually.

OCR Virtual The virtual OCR engine assigned in the Virtual Engine property under Field
Engine properties is allocated as the default, and therefore this field is normally left
empty. (The option "none" is selected). Entering a different virtual OCR engine
in this field will override the default virtual OCR engine as allocated under Field
properties.

OMR Caption For electronic forms. Specify a caption for the checkbox or radio button.

Mark Size If there is a mark, select the size (Small, Medium, and Large). If there is more
than one, select Multiple.

If Filled Write a string to be placed in position if the region is filled.

If Not Filled Write a string to be placed in position if the region is always empty (not filled).

Slice X Columns Split field vertically into two or more ROIs. Select how many columns to create
with the OMR's ROI.

Margin Define the distance between each column.

Slice Split the OMR's ROI vertically into a number of columns, as defined by the
value in the columns property.

Slice Y Rows Split field horizontally into two or more ROIs. Select how many rows to create
with the OMR's ROI.

Margin Define the distance between each row.

User's Guide | 143


EFI Design
Performing Field Recognition: Field-Level Regions

Category OCR Region Description


Property

Slice Split the OMR's ROI horizontally into a number of rows, as defined by the
value in the Rows property.

Other Associated The field associated with this region. You may link the region to a different
Field field using this property.

Order in Field The order in which regions are linked to the field (determines the order in
which they are read).

8.10.3 Moving and Resizing Regions


Before performing any operation on an ROI, you must first select it.

Selecting an ROI

To select the ROI, click on the image.

The cursor will turn into a hand tool when you select the ROI.

To deselect an ROI, click anywhere outside the field.

Moving an ROI

You can move an ROI to any position on the EFI.

To move an ROI:

1. Select the ROI.


The pointer becomes a hand tool.
2. Click and hold the left mouse button.
3. Drag the pointer to the new location on the screen.
4. Release the mouse button.

Resizing ROIs

To change the size an ROI:

1. Select the ROI.


2. Place the pointer on one of the eight handles.

The pointer becomes a double-headed arrow.

144 | eFLOW Visual Designer 4.5


EFI Design
Performing Field Recognition: Field-Level Regions

3. Press and hold the left mouse button.


4. Drag the pointer in the desired direction until you get the desired size.
5. Release the mouse button.

Deleting an ROI

To delete an ROI:

1. Select the ROI.

2. Click the Erase Region button.


3. Place the pointer inside the designated region and click.
The region is deleted.

8.10.4 Table Regions

Creating an ROI for a Table

To create a region for a table, first create an ROI for the entire table.

To create and define an OCR region for a table:

1. From the object tree, select the table for which you wish to create an OCR region.

2. Click the OCR Region button in the EFI toolbar at the top of the EFI workspace
area.
3. Point at the image and click and hold the left mouse button.
The pointer becomes a cross.
4. Drag the cross to create a rectangle over the desired region, until you reach the
size that you want.
5. Release the mouse button.
A red rectangle appears over the region. The ROI properties will be displayed to
the right in the Object Inspector.
6. By default, each table has one row. If there is more than one row in the table,
specify the number of rows using the Row property in the Object Inspector.
7. By default, the table object will contain one column. If there is more than one
column in the table, you must create a new column object for each additional
column actually on the EFI.
8. Click to select the table and do one of the following:
 From the Selected menu, select the New Column option.
 With the mouse cursor on the highlighted Table, click the right mouse button
to open the object drop-down menu. Select the New Column option.

User's Guide | 145


EFI Design
Performing Field Recognition: Field-Level Regions

For example, in the following figure, several new columns and rows have been
created for the table displayed in the working area:

The ROI properties are displayed to the right in the Object Inspector. You can set
the properties through the Object Inspector.

Resize a Column

You can resize a column edge to any other width within the table ROI.

To resize a coumn:

1. Select the ROI.


The pointer becomes a hand tool.

2. Select the Selection Mode button.


3. Click the column edge and hold the left mouse button.
The pointer becomes a width changer pointer.
4. Drag the pointer to the new location on the screen.
5. Release the mouse button.

146 | eFLOW Visual Designer 4.5


EFI Design
Performing Field Recognition: Field-Level Regions

Resizing Table ROIs

To change the size a table ROI:

1. Select the ROI.


2. Place the pointer on one of the eight handles.

The pointer becomes a double-headed arrow.


3. Press and hold the left mouse button.
4. Drag the pointer in the desired direction until you get the desired size.
5. Release the mouse button.

Deleting a table ROI

To delete a table ROI:

1. Select the ROI.

2. Click the Erase Region button.


3. Place the pointer inside the designated region and click.
The region is deleted.

Deleting an ROI does not delete the column objects in a table. They still exist in
the application explorer tree.

User's Guide | 147


Defining Exceptions
What is an Exception?

9 Defining Exceptions

9.1 What is an Exception?


An exception occurs when a problem arises for the operator in the Completion station.
The system blocks the operator from moving on to the next field. One or more
mandatory characters in a field may be unrecognized, rules or validation functions
may not be observed, etc. Depending on how it was configured in the layout, the
exception may be manifested by a query, a validation message in the status bar, etc.
If the problem cannot be solved, the operator clicks the Exceptions button and selects
the most appropriate exception from the list. The operator can then move on, and the
exception will be transmitted to the supervisor in the Exceptions station for
resolution.
Almost all forms have rules that apply to filled contents of the various fields in the
forms.
Some examples of rules:
 A field must contain only digits.
 A field must contain a valid date.
 A field must contain a valid address.
 A field is the sum of two other fields.
 A field in the summary form is the sum of fields in the folder.
 A field must be legible.
After you define these rules, the operator cannot leave the data completion process
until these rules are obeyed. But what happens when the form was not filled in
correctly? We cannot expect the operator to change the data of the form to match the
predefined rules.
For these cases, the eFLOW platform introduces the definition of exceptions. In the
Completion station, the operator can mark exceptions on the batch, and leave invalid
data in the batch data. The exceptions are reported later in the exception report.

9.2 What is an Exception Category?


The eFLOW platform introduces the concept of exception categories. These categories
group exceptions in a hierarchical order. Exception categories are used to sort
different types of exceptions during the application design stage.

148 | eFLOW Visual Designer 4.5


Defining Exceptions
Creating an Exception Category and Defining its Properties

Exception categories are not only logical groups of exceptions. They also manifest
themselves in the Completion and Exception stations.

Exception categories are used by the workflow as filtering devices. For example, it is
possible to filter forms sent to a specific workflow module by specifying that only
forms with field exceptions belonging to a specific exception category should be
transferred.

9.3 Creating an Exception Category and Defining


its Properties
Exception categories can only be added to the application object.

To create an exception category:

1. In the application explorer window, click to select the application object.


2. Do one of the following:
 From the Selected menu, select the New Exception Category option.
 With the mouse cursor on the highlighted application object, click the right
mouse button to open the object drop-down menu. Select the New Exception
Category option.

User's Guide | 149


Defining Exceptions
Creating an Exception Category and Defining its Properties

A new exception category will appear in the application tree following the
application and all its attached forms, pages, fields groups, and fields.

You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl
key, press the C key), and paste (holding the Ctrl key, press the V key) a
previously created exception category.

9.3.1 Exception Category Properties


The following exception category properties appear in the Object Inspector.

Property Description

Name The exception category Name specifies the name of the exception category. This name
appears automatically in the Description text box in the Object Inspector window after you
create an exception category. You can change the description if you want to insert
information about the exception category that may be helpful to you.

Description Provide a short description specifying what the exception category contains, a string of up to
31 characters.

Caption Specify the name for the exception category as it should appear on the screen.

Color Select a color for the exception category, used for display purposes.

150 | eFLOW Visual Designer 4.5


Defining Exceptions
Creating an Exception and Defining its Properties

9.4 Creating an Exception and Defining its


Properties
Exceptions can only be added to the exception category object.

To create an exception:

1. In the application explorer window, click to select the exception category that will
contain this exception.
2. Do one of the following:
 In the Selected menu, select the New Exception option.
 With the mouse cursor on the highlighted exception category object, click the
right mouse button to open the object drop-down menu. Select the New
Exception option.

A new exception will appear under the exception category.

You can cut (holding the Ctrl key, press the X key), copy (holding the Ctrl
key, press the C key), and paste (holding the Ctrl key, press the V key) a
previously created exception.

9.4.1 Exception Properties


The following exception properties appear in the Object Inspector.

Exception Description
Property

Name The exception Name specifies the name of the exception. This name appears automatically
in the Description text box in the Object Inspector window after you create an exception.
You can change the description if you want to insert information about the exception that
may be helpful to you.

User's Guide | 151


Defining Exceptions
Linking Exceptions

Exception Description
Property

Description Provide a short description specifying what the exception contains, a string of up to 31
characters.

Caption Specify the name for the exception as it should appear on the screen.

Always Click to specify that the exception will be available to all fields/cases/forms in the
Available Completion and Exception stations.

Selected Specify which action (check) is to be performed when the field is tagged with an exception.
Action Options are:

• Check the rest of the rules—Continue to check the field for compliance with other rules.
Mark the exception and move on.

• No check in the current field—Do not continue to check the field for compliance with
other rules. Disregard the whole field.

• No check in the current group—Discontinue checking for compliance with rules for the
entire field group. Disregard the whole field group.

• No check in the current page—Discontinue checking for compliance with rules for the
entire page. Disregard the whole form.

• No check in the current form—Discontinue checking for compliance with rules for the
entire form. Disregard the whole collection.

Hot Key Specify which hotkey (key combination) will be associated with a specific exception. This
hotkey is used in the Completion and Exception stations to attach an exception to a field or
column.

9.5 Linking Exceptions


In order for exceptions to perform their tasks they must first be linked to the fields
for which they are designated.

There are two different ways to link an exception. Choose either option A or
option B.

To link an exception (option A):

1. In the object tree, click to select the field to which you wish to link an exception.
2. In the properties viewer, select the exceptions property.
3. Select the exception you wish to link from the list of exceptions that appears
underneath the exceptions property.
4. Choose the appropriate exception by clicking the drop-down arrow list to the left of
the exception.
5. Select the True flag. The exception is now linked to the field.

152 | eFLOW Visual Designer 4.5


Defining Exceptions
Removing Exceptions

To link an exception (option B):

1. In the object tree, click to select the field to which you wish to link an exception.
2. In the properties viewer, select the exceptions property.
3. Click the button that appears to the right of the exceptions property.
The Exceptions window appears, displaying exception categories.

4. To the left of the exception categories, click the + flag to view the exceptions.
5. When you locate the exception you wish to link, click the checkbox to the left of the
exception.
6. Click the OK button.
The exception you have selected is automatically flagged True in the Object
Inspector. It is now linked to the field.

9.6 Removing Exceptions


You may wish to remove an exception from a field.

There are two different ways to link an exception. Choose either option A or
option B.

To remove an exception (option A):

1. In the application explorer window, click to select the field whose exception you
wish to remove.
2. In the properties viewer, select the exceptions property.

User's Guide | 153


Defining Exceptions
Removing Exceptions

3. Select the exception you wish to remove from the list of exceptions that appears
underneath the exceptions property.
4. Choose the appropriate exception by clicking the drop-down arrow list to the left of
the exception.
5. Select the False flag.
The exception is now removed from the field.

To remove an exception (option B):

1. In the application explorer window, click to select the field whose exception you
wish to remove.
2. In the properties viewer, select the exceptions property.
3. Click the button that appears to the right of the exceptions property.
The Exceptions window appears, displaying exception categories.
4. To the left of the exception categories, click the + flag to view the exceptions.
5. When you locate the exception you wish to remove, click to clear the checkbox to
the left of the exception.
6. Click the OK button.
The exception you have selected is automatically flagged False in the Object
Inspector. It is now removed from the field.

154 | eFLOW Visual Designer 4.5


Defining Lookup Tables
Lookup and Quick Lookup Tables

10 Defining Lookup Tables

10.1 Lookup and Quick Lookup Tables


Lookup tables allow you to validate the value of fields to a list of values (quick
lookup) or database (lookup). Quick lookup and lookup tables will add a drop down
list in the Completion station with the available values.
Quick lookup tables provide a list of values to a specific field. Use them when you
have a relatively small number of constant values.
Lookup tables provide access to simple CSV text files that can include an almost
unlimited number of values (usually exported from a database).

10.2 Creating Quick Lookup Tables


To create a quick lookup table:

1. Open the quick lookup property. (In checkbox fields the property is called Items).

2. Add all available values in the window, one value per line.
3. Click the OK button.
4. In the Show List box property, select Auto or the hotkey that will open the drop
down list (list box).
5. If desired, select the Automatic Fill option. If selected, the system will automatically
complete the values.
For example, if the operator enters ca the system will automatically complete
cash. If the operator enters cr the system will automatically complete credit.

User's Guide | 155


Defining Lookup Tables
Creating Lookup Tables

10.3 Creating Lookup Tables


To create a lookup table:

1. Create a text (.txt) file that contains the data in the following format (4 fields, 3
options):
data1,data2,data3,data4
data5,data6,data7,data8
data9,data10,data11,data12

2. Right click on the application name and select New Lookup Table.
A new lookup table object with a default new Lookup Item is created.
3. Add new lookup items and provide names for them. Refer to the table below for
Lookup Item properties.
Quick Lookup definitions that were defined in eFLOW 3 are automatically
converted to TiS Quick Lookup Tables, and are added to the explorer tree.
4. If desired, select the Automatic Fill option. If selected, the system will automatically
complete the value in this field.

Type Lookup Description


Table
Property

MS SQL

Page Size The maximum number of records to be stored in memory

Connection The name and location of the database


String

Table name The name of the MS SQL database table

Item / Specification of the column-to-item mapping


Column

TiS LIORA
Legacy

Page size The maximum number of records to be stored in memory

Original text Source of the raw data of the TiS legacy database
file

Memory Size

Items
(String or
Integer)

156 | eFLOW Visual Designer 4.5


Defining Lookup Tables
Creating Lookup Tables

Type Lookup Description


Table
Property

Length of Maximum string length (relevant when item type is String).


String

TiS SHIRA
Fuzzy

TiS LIORA (Quick lookup table opens.)


Quick eFLOW3 tables are automatically converted to this format.

Exorbyte SHIRA

User's Guide | 157


Rules and Validation Functions
What is a Rule?

11 Rules and Validation Functions

11.1 What is a Rule?


Several fields in a form can be logically related. It is possible to define rules for a
field, as well as operations to be executed upon specific window events, such as
exiting a field or pressing a function key.
Almost every form has rules concerning the validity of data in the forms (such as
minimum or maximum values, mathematical relationships between fields, and so on).
These validation rules are defined during the setup process. These rules are especially
important as data entered into the text edit fields during the data completion process
must also obey these rules. The data completion process will prevent an operator
from proceeding to the other information fields before the contents of a field are
corrected or, when the form information is invalid, before marking an exception.
Rules and validation functions are similar.
Rules are simple statements written on the virtual keyboard by means of
alphanumeric characters and Boolean symbols. For example, a rule might stipulate:
PhoneAreaCode=FaxAreaCode.
Validation functions are more complex. They are written in Visual Basic code.
Events are specific actions that are triggered in a station, such as Completion, when a
given action occurs, for example entering or exiting a station.

11.2 Defining Rules


Rules can only be added to a field or table item object.

To create a rule:

1. In the application explorer window, click to select the field to which you wish to add
the rule.
2. Do one of the following:
 From the Selected menu, select the New Rule option.
 With the mouse cursor on the highlighted field or table item object, click the
right mouse button to open the object drop-down menu. Select the New Rule
option.
A new rule object will appear under the field or table item. You must now define
the rule using the rule properties.

158 | eFLOW Visual Designer 4.5


Rules and Validation Functions
Building Rules

11.2.1 Rule Properties


The following rule properties appear in the Object Inspector.

Rule Property Description

Name The rule Name specifies the name of the rule. This name appears automatically in the
Description text box in the Object Inspector window after you create a rule. You can
change the description if you want to insert information about the rule that may be
helpful to you.

Description Provide a short description specifying what the rule contains, a string of up to 31
characters.

Caption Specify the name for the rule as it should appear on the screen.

RuleString Error message displayed in case the rule is not met. The error message appears in the
Completion interface when the text input by the operator does not conform with the rule.

RuleMessage A string that defines the rule. Rule strings are constructed of field values, constants and
operations.

Rules can be built with the assistance of the Rules Editor. Click the button to the right
of the property to access the rules editor window. For more information on the Rules
Editor, see section 11.3.1.

Exceptions Select from a list of available exceptions for the rule. The operator selects the most
appropriate exception to send to the Exceptions station.

RuleAction Under specified conditions, perform the following action:

Show Message and Stop – Display error message in the status bar, but don't move to the
next field. The operator must open an exception.

Show Message and Query User – Display error message in the status bar and notify
operator of error, but don't move to next field. The operator views a query, and must
open an exception.

Show Message and Open Exception – Display error message in the status bar and attach an
exception, but don't move to next field. The exception is opened automatically, and the
operator must choose from a predefined list of exceptions.

Attach Exception and Continue – Attach an exception and continue to the next field.

Display Type Select from the drop-down to display message in the status bar or to show message box.

11.3 Building Rules

11.3.1 Using the Rules Editor


Rules are connections between fields in the same form. The rules you define are used
to validate the data and will be applied to fields in the same form.

User's Guide | 159


Rules and Validation Functions
Building Rules

You can edit an existing rule or create a new one. Rules are built from the Rules
Editor dialog box.

To build a rule:

1. From the Object Inspector, locate the RuleString field and click the button to the
right of the property to access the Rules Editor window.
The Rules Editor screen appears:

2. Enter the rule in the rule string text box.


3. To add the rule to a field, select it in the fields list box (on the left of the dialog)
then click the green arrow key (or double-click the field name).
The Rules Editor screen has regular mathematical expression buttons, as well as a
numeric and symbol keypad, representing the legal operators that you can use when
you build the rule string. To copy an operator to the rule string, click the
corresponding operator button. A numeric and alphabetic keypad are also available
for typing regular expressions. Also available are the Boolean expressions AND and OR.

When you finish building a rule, it is entered into the rule string property.

11.3.2 Rule Expression Syntax


There are two types of expression syntax:
 Mathematical expressions
 Field format expressions
The field type property determines whether the rule will be written as a mathematical
expression or a text string (field format). For example, dates and numbers take
mathematical rules, text fields take field format rules.

160 | eFLOW Visual Designer 4.5


Rules and Validation Functions
Building Rules

Mathematical Expressions

Types

Two types of mathematical expression are supported:


 Numbers
 Dates
The number type is used for integers and real numbers. The date type is used for
dates. You can only compare numbers with numbers and dates with dates (not
numbers with dates).

Constants

If you type numbers or dates in the rule, these remain constant even as the field
values change. For example, you can specify that a field will always have a given
value, such as AreaCode=212.
The supported constants are:
 Number constants
Any number. Syntax: with or without decimal point

Variables

A variable is a field name or column name, and the value of the variable is the
content of the field or column.
Syntax: idnumber. The table is the active table.

If you set one column equal to another column, every cell in the first column
must be equal to the corresponding cell in the second column. Similarly, if you
specify that column one is greater than column two, every cell in column one
must be greater than the corresponding cell in the column two.

Operators

The following operators are available:

Category Operator Description

Numerical + Addition

- Subtraction

* Multiplication

/ Division

Boolean > Greater than

< Less than

User's Guide | 161


Rules and Validation Functions
What is a Validation Function?

Category Operator Description

= Equal to

>= Greater than or equal to

<= Less than or equal to

<> Between

AND Logical AND

OR Logical OR

NOT Not equal to

Field Format Expressions

The following are examples of field format expressions:

Telephone Number

A telephone number may appear as a three-digit prefix followed by a hyphen and a


seven-digit number. The syntax is as follows:
000-0000000

Credit Card Number

A credit card number may appear as a sixteen-digit number in four groups of four
digits separated by a space. The syntax is as follows:
0000 0000 0000 0000

Vehicle License Plate Number

A vehicle license plate number may appear as two alphanumeric characters followed
by a dash, two required digits, an optional digit (represented by the 9 character),
another dash, and two more alphanumeric characters. The syntax is as follows:
CC-009-CC

11.4 What is a Validation Function?


Validation checks allow for sophisticated, automatic checking of field contents at
many different levels of inquiry. Not only can fields be related, but they may depend
on one another. For example, zip codes, city names, and state names are related.
Similarly, telephone area codes and city names have a certain relationship, since
telephones area codes are geographically determined. Validation functions can be
designed to perform these sorts of checks. Also, date fields may be logically limited to
certain dates, with any other dates being considered invalid. For example, if in a
current census a respondent answered that he was born in 1840, the date field could
not be considered valid. It is possible to define validation functions for a field, as well

162 | eFLOW Visual Designer 4.5


Rules and Validation Functions
What is a Validation Function?

as operations to be executed upon specific window events, such as exiting a field or


pressing a function key.

11.4.1 Defining Validation Functions

Building Functions

Validation functions can only be added to a field object.

To create a validation function:

1. In the application explorer window, click to select the field to which you wish to add
the validation function.
2. Do one of the following:
 From the Selected menu, select the New VFunction option.
 With the mouse cursor on the highlighted field object, click the right mouse
button to open the object drop-down menu. Select the New VFunction option.
You must now define the validation function using validation function properties.
The following validation function properties appear in the Object Inspector.

vfunction Property Description

Name The validation function Name specifies the name of the validation function. This
name appears automatically in the Description text box in the Object Inspector
window after you create a validation function. You can change the description if you
want to insert information about the validation function that may be helpful to you.

Description Provide a short description specifying what the validation function contains, a string
of up to 31 characters.

Caption Specify the name for the validation function as it should appear on the screen.

RuleMessage Message to display in case the validation function is not met.

Exceptions Select from a list of available exceptions for the validation function.

RuleAction Under specified conditions, perform the following action:

Show Message and Stop – Display error message in the status bar, but don't move to
the next field. The operator must open an exception.

Show Message and Query User – Display error message in the status bar and notify
operator of error, but don't move to next field. The operator views a query, and
must open an exception.

Show Message and Open Exception – Display error message in the status bar and
attach an exception, but don't move to next field. The exception is opened
automatically, and the operator must choose from a predefined list of exceptions.

Attach Exception and Continue – Attach an exception and continue to the next field.

User's Guide | 163


Rules and Validation Functions
What is a Validation Function?

vfunction Property Description

DisplayType Under specified conditions, perform the following action:

Display Message on Status Bar – Display validation message in the status bar.

Show Message Box – Display validation message in a separate box.

Events OnValidate – type in the function or methods or click the browse button to specify
one (see Defining Event Functions in the Appendix)

11.4.2 Building Validation Functions

Using the Validation Function Builder

Validation functions are functions that you define which perform validation checks for
a selected field. You can edit an existing validation function or create a new one.
Validation functions are built from the Visual Basic window.

For example, you can create a VFunction that checks that either:
 Both credit card number and expiration date are filled,
 Or both fields are empty.

164 | eFLOW Visual Designer 4.5


Rules and Validation Functions
What is a Validation Function?

To create a validation function:

1. In the Visual Designer, click to select the ExpDate field.

2. Right click, and select New VFunction.

3. Double click on the OnValidate event.


define a customized validation function using a DLL. The DLL can be placed in \bin or
anywhere else in the system search path.

User's Guide | 165


OCR Engine Design
What is an OCR Engine?

12 OCR Engine Design

12.1 What is an OCR Engine?


Forms (either paper or scanned images) contain fields with characters, letters,
punctuation symbols, barcodes, and numbers that must be recognized and processed
in order to be converted into electronic (digital) text data. How is this done? OCR
engines perform these tasks. Engines are programs that are specifically created to
recognize, process, and convert specific types of data, whether barcodes, handwritten
numbers, or machine print characters.
The strongest and most powerful of the many different OCR and ICR engines provided
by leading companies in the recognition field are available to you through the Integra
and Freedom products. OCR (Optical Character Reader) engines are used for machine
print, and ICR (Intelligent Character Reader) engines are used for handwritten text.
The OCR Visual Designer provides pre-tuned engine templates that can be used for
character recognition. It also provides sophisticated parameter control, fine-tuning,
and recognition results generation and checking, for the OCR engines that you use.
Each engine contains a set of parameters defining how recognition is performed for a
particular field. Each engine can be fine tuned using the many accessible parameter
settings. The OCR engine tester allows for immediate checking of results, and more
accurate fine-tuning with greater control over engine settings. Settings can be
checked immediately using the engine tester, which instantly processes results for
specifically selected fields.

12.2 OCR Engine Attributes


Each OCR engine has different attributes. These attributes are set in the engine
attribute screen for the engine. For example, the OCE engine attribute screen:

166 | eFLOW Visual Designer 4.5


OCR Engine Design
OCR Designer Desktop

The main parameters that appear in many engines are the following:
 Language/Classifiers – Select the natural human language (such as English or
French) and the type of character (such as hand- or machine-print).
 Mask – Set the allowed characters, such as A-Za-z (alphabetic) and 0-9
(numeric). Special characters (such as & or @) can also be defined.
 Character size/height – Set min/max values for character size.
 Distance between characters.
 Grid removal/noise processing/enhancement.
The Default button will restore engine default settings.

12.3 OCR Designer Desktop


OCR engines are selected and configured in the OCR designer desktop. Access the
OCR designer desktop from the Visual Designer desktop toolbar by pressing the
button.
The OCR designer desktop consists of six elements:
 Menu bar
 Toolbar
 OCR explorer
 Working area toolbar
 Working area
 Object explorer

User's Guide | 167


OCR Engine Design
OCR Engines

Menu Bar

Toolbar

Working Area
Toolbar

Working
OCR Area
Explorer

Object
Inspector

12.4 OCR Engines

12.4.1 Creating an OCR Field or Page Engine Object

To create a new engine object:

1. In the OCR Visual Designer tree, click to select the engine tree node.
2. Do one of the following:
 In the Selected menu, select the New Engine option.
 Click the right mouse button to open the object drop-down menu. Select the
New Engine option.
The engine object will appear in the application object tree. User-created engine
objects are symbolized by the new engine object icon. The Object Inspector
will display the engine object's properties and events.

Copying and Pasting an Engine Object

You can copy and paste a previously created engine object.

To copy and paste an engine object:

1. In the engine explorer window, click to select the engine object that you wish copy.
2. Do one of the following:
 From the Selected menu, select the Copy option.
 With the mouse cursor on the highlighted engine object, click the right mouse
button to open the drop-down menu. Select the Copy option.

168 | eFLOW Visual Designer 4.5


OCR Engine Design
General Engine Properties

3. To paste the engine object do one of the following:


 From the Selected menu, select the Paste option.
 With the mouse cursor on the highlighted target object, click the right mouse
button to open the object drop-down menu. Select the Paste option.
A copy of the engine will appear in the engine tree.

Cutting or Deleting an Engine Object

You can cut or delete a previously created object.

When you cut an engine object, you can still paste it back into the engine tree.
Once you have deleted an object, it is removed from the system permanently.

To cut or delete an engine object:

1. Click to select the engine object you wish to cut or delete.


2. Do one of the following:
 From the Selected menu, select the Cut or the Delete option.
 With the mouse cursor on the highlighted object, click the right mouse button
to open the drop-down menu. Select the Cut or the Delete option.
The object will disappear from the application tree.

12.5 General Engine Properties


All the engine properties are defined using the Object Inspector window. When you
select an engine by clicking it in the application object tree, its properties are
automatically displayed.

When you set values for an engine, these values will be set for all copies of the
engine also.

User's Guide | 169


OCR Engine Design
Setting Base Recognition Engine Properties

The general properties of an engine consist of the engine name, engine description
and caption. The engine Name appears automatically in the Description text box in the
Object Inspector after you create an engine. You can change this Description if you
want to insert some comments about the engine that may be helpful to you. The
name should be alphanumeric.

12.6 Setting Base Recognition Engine Properties

12.6.1 Engine Type


When you create an engine, you will notice that there are several different engine
types available through the Engine Type property list box menu. Each engine is a
powerful tool for recognition that works differently from the others. The best OCR/ICR
engines are available to you through the Integra and Freedom products.

OCR Field Engine Type

OCR field engines are engines that recognize the content of the fields based on the
recognized EFI or script.
The OCR field engine types include:
 Ceyes (Ligature)
 Character
 ExperVision TypeReader®
 Gentriqs
 Inlite Research Barcodes
 KADMOS™
 NestorReader™
 OCEAEG
 OCEReco
 Parascript
 RecoStar

OCR Page Engine Type

OCR page engines are engines that recognize all of the words in the image to help
script recognition.
The OCR page engine types include:
 ExperVision
 Ocr
 Omnipage

170 | eFLOW Visual Designer 4.5


OCR Engine Design
Setting Base Recognition Engine Properties

 Ricoh
 Abbyy
Each engine type has its own specific set of parameters that can be set and fine-
tuned so that the best possible recognition can be achieved. An engine object is a
combination of the engine type and the engine-specific parameters. Parameters are
set in the Engine Attributes window.

The engine attributes windows are subject to change, as eFLOW incorporates


engine upgrades.

Minimal Confidence

Enter a percentage using the Minimal Confidence button to specify the minimal
confidence a resolved character must have for the result to be accepted.
This means that after the engine recognition algorithms are complete and each result
is assigned a confidence value, results with lower confidence values than specified will
be rejected. The default value is different for each engine and is related to general
engine behavior.

Enhancement

Enhancement enables post-scan image modification. There are many enhancement


parameters you can use.
From the Enhancements section of the tab you can define the sets of image
enhancement filters applied by the Processing module. The following four
enhancement options are available:
 Deskew to correct alignment.
 Noise removal to remove different kinds of noise.
 Lines to remove vertical or horizontal lines.
 Character enhancement to improve character recognition
 Rotation to correct an image that was rotated when it was scanned.
You can perform enhancement in more than one place in the flow. In each instance,
you can combine elements of the five enhancement filters.

Click on the button to specify the image enhancement to be applied before an


engine performs recognition.

12.6.2 Setting Segmentation Engine Properties


Engines are powerful tools for recognition, which can be much further fine tuned by
setting parameters to best suit recognition needs.
You can define one engine to recognize character data. You can define another engine
to define the segmentation of data.

User's Guide | 171


OCR Engine Design
Setting Base Recognition Engine Properties

What is Segmentation?

Segmentation is how the OCR separates characters. The segmentation algorithm


divides the region into different segments. The segmentation mode specifies a
particular type of treatment for the region. Using different recognition techniques, the
segmentation algorithm will divide the area in a minimal number of segments, a
normal number of segments, or a maximal number of segments.
For example, the segmentation algorithm can ignore small gaps. So, if a region
contains a B with a slight gap in it, what might be read as 13 using maximal
segmentation is read as a B using minimal segmentation.

Minimal Segmentation: read as B


Maximal Segmentation: read as 13.
If you choose a separate segmentation engine, the following properties can be set for
both OCR field and page engines to further improve recognition:

Property Description

Min. Confidence Enter a percentage using the Minimal Confidence button to specify the minimal
confidence a resolved character must have for the result to be accepted.

This means that after the engine recognition algorithms are complete and each
result is assigned a confidence value, results with lower confidence values than
specified will be rejected. The default value is different for each engine and is
related to general engine behavior.

Attributes Each engine type has its own specific set of parameters that can be set and fine-
tuned so that the best possible recognition can be achieved. An engine is a
combination of the engine type and the engine specific parameters. Parameters
are set in the Engine Attributes window. Each engine has its own properties.

SegBaseName Select the segmentation engine from a list-box.

UseSeparateSegmentator You can use the recognition of one engine (i.e. how it reads characters) and the
segmentation of another engine (i.e. how it separates characters). Use this
checkbox to select a different engine segmentation.

172 | eFLOW Visual Designer 4.5


OCR Engine Design
Setting Base Recognition Engine Properties

Additional OCR Page Engine Properties

In addition, the following properties are available for OCR page engines:

Property Description

Clean Process Select the checkbox to execute another noise removal algorithm.

1. Black on white areas are converted to white on black.

2. Dot matrix character recognition is improved.

Hand Print Select the checkbox for pages including hand-printed text.

Machine Print Default checkbox selected for pages including machine-printed text.

ICR Engine Select from the drop-down list of previously created virtual field engines.

User's Guide | 173


Virtual Engine Design
What is a Virtual Engine?

13 Virtual Engine Design

13.1 What is a Virtual Engine?


The eFLOW Platform employs the most advanced OCR and ICR algorithms to extract
text data from the images. Several recognition engines are supplied with the system,
and more customized engines can be added. Each available engine is more suitable
for certain kinds of text, depending on the parameter settings.
In order to improve recognition results, instead of a single OCR engine, you can
group engines together to create an OCR virtual engine. A virtual engine contains one
or more engines, specifically configured to optimize recognition capabilities. Each
engine has specific strengths in recognition performance. Every OCR engine supplies
a prediction of each character that it examines, and supplies a confidence level for
every character it recognizes. The combined results from the OCR virtual engine are
merged using a voting method.
The voting method is the algorithm that defines what the final result of the virtual
engine will be. The voting method is set in the virtual engine voting property.
The OCR engine tester allows for immediate checking of results, and more accurate
fine-tuning, with greater control over engine and voting parameter settings.

Virtual engines contain attached engines, symbolized by the attached engine icon.

13.1.1 OCR Field Engine Voting Methods


For OCR field engines the methods are:
 Safe: The result of the vote must be unanimous.
 Normal: The voting is unanimous if there is no conflict. Only engines that returned
a result are counted.
 Majority: This is a simple majority vote. If there is no majority, the result is
rejected.
 Order: The first engine (according to the order in the virtual engine) that gets a
result will determines the final outcome.
 Equalizer: The result is set by the Equalizer algorithm (see section 13.7).

13.1.2 OCR Page Engine Voting Methods


For OCR page engines only one voting method is available: XVoter.

13.2 Defining Virtual Engine Component Engines


It is also possible to create new virtual engines. A new virtual engine’s properties and
enhancement parameters can be set as you wish.

174 | eFLOW Visual Designer 4.5


Virtual Engine Design
Defining Virtual Engine Component Engines

Many recognition engines are supplied with the system, each suitable for a certain
kind of text or data. When combining engines in a virtual engine, choose engines that
are most suited to the type of data that will be found in the specified region.
Several OCR results can be merged to improve recognition. The combined results
from several OCR engines can be merged using a voting algorithm.
You may attach user-defined engines to any virtual engine that is user-defined. You
may also order engines, re-order them, copy and paste, drag and drop, and delete
engines from a virtual engine.

13.2.1 Creating New Virtual Engines

To create a new virtual engine:

1. In the OCR Visual Designer tree, click to select the engine object tree.
2. Do one of the following:
 From the Selected menu, select the New Virtual Engine option.
 Click the right mouse button to open the object drop-down menu. Select the
New Virtual Engine option.
The Virtual Engine will appear in the engine object tree. Virtual engines that are
user-created are symbolized by the new virtual engine icon. To the right of the
desktop, the Object Inspector will display the Virtual Engine properties and events.

13.2.2 Attaching an OCR Engine


Attach engines to the virtual engine by copying and pasting them.

To attach an OCR engine:

1. In the engine explorer window, click to select the engine you wish to copy.
2. With the mouse cursor on the highlighted engine, click the right mouse button to
open the object drop-down menu. Select the Copy option.
3. Click to select the virtual engine to which you wish to attach the engine.
4. With the mouse cursor on the highlighted virtual engine, click the right mouse
button to open the object drop-down menu. Select the Paste option.
A copy of the engine will appear in the engine object tree. This engine or template
copy is called an engine link, symbolized by the engine link icon.

The properties of a user-defined engine can be changed. When you set or


change values for an engine, these values will be set for all copies (shortcuts)
of the engine also.

User's Guide | 175


Virtual Engine Design
Defining Virtual Engine Attributes

13.2.3 Ordering OCR Engines Within a Virtual Engine


eFLOW gives you full flexibility to change the order in which engines are applied to a
region. The order of OCR engines in the tree determines the order in which they are
applied to the image.

To change the order of an engine within the hierarchy:

1. Click to select the engine you want to move.


2. Drag and drop the engine to wherever you wish to place it.
The position of the engine in the hierarchy will change. All engine properties are
conserved.

13.2.4 Cutting or Deleting an OCR Engine


You can cut or delete a previously created OCR engine.

When you cut an OCR engine, you can still paste it back into the engine object
tree. Once you have deleted an object, it is removed from the system
permanently.

To cut or delete an OCR engine:

1. Click to select the engine you wish to cut or delete.


2. With the mouse cursor on the highlighted engine, click the right mouse button to
open the drop-down menu. Select the Cut or the Delete option.
The OCR engine will disappear from the engine object tree.

13.3 Defining Virtual Engine Attributes


All the virtual engine properties are defined using the Object Inspector window. When
you select a virtual engine by clicking it in the engine object tree, its properties are
automatically displayed.
The general properties of a virtual engine consist of the virtual engine Name and
virtual engine Description. The virtual engine Name appears automatically in the
Description text box in the Object Inspector after you create a virtual engine. You can
change this Description if you want to insert some comments about the engine that
may be helpful to you. The name should be alphanumeric.
In addition, the following properties are available:
 Recognition Mask – defines the type of print and allowed characters and
punctuation.
 Segmentation – defines the size of characters and spaces
 Voting Method – defines the method of voting among the several engines of a
virtual engine.

176 | eFLOW Visual Designer 4.5


Virtual Engine Design
Setting Recognition Mask Properties for OCR Field Engines

13.4 Setting Recognition Mask Properties for OCR


Field Engines
Recognition mask properties apply only to OCR field engines, and not to OCR page
engines.
Define Print Type and Field Type in order to achieve the best recognition results. Field
Type may be alphabetic, numeric or mixed alphanumeric. Print Type may be machine
or handprint, both, or barcodes.
Use the Chars Case to define whether you are expecting uppercase, lowercase, or
mixed upper- and lowercase text.
In the Allowed Chars and Allow Punctuation edit boxes, specify the characters that are
expected to appear in a field. Use the Character Map window available through the
Allowed Chars property to specify a particular range of allowed characters.

For example, you can define the recognition mask so that only upper- and lowercase
characters between A and E are allowed.
In the Character Map specify the following string:
A-Ea-e

Only those characters, such as Abba will be allowed.


If you want to be able to recognize punctuation, such as decimal points or commas
between figures, click the Allow Punctuation checkbox. By default it is blank, and the
engines ignore punctuation signs.
For example, you can define the recognition mask so that the commas and decimal
point in the following number are recognized:
1,234,567.89

In the Character Map, click to check the Allow Punctuation checkbox.


For special characters such as arithmetic signs, click the Allow Punctuation checkbox.

User's Guide | 177


Virtual Engine Design
Setting Segmentation Properties for OCR Field Engines

13.5 Setting Segmentation Properties for OCR Field


Engines
Segmentation properties apply only to OCR field engines, and not to OCR page
engines.
The following segmentation properties may be set.

All these settings are per OCR virtual engine, which may be connected to one or
more regions.

Segmentation Description
Property

Monospaced Check when all the characters in the field are the same width.

Width Min and Max width per ROI. Define the maximum and minimum allowed width of the
characters in pixels. Characters which are over the limit (smaller or larger) will be
ignored.

Height Min and Max height per ROI. Define the maximum and minimum allowed height of the
characters in pixels. Characters which are over the limit (smaller or larger) will be
ignored.

Super When the Super segmentation checkbox is selected, eFLOW employs the voting
Segmentation technique to the segmentation results of several engines. This provides better
recognition because the coordinates are calculated for the best probability.

Please consult a TIS representative when implementing super segmentation.

13.6 Voting Properties


Several OCR results can be merged to improve recognition. Those results can be
merged using a voting algorithm.

13.6.1 Defining Voting Methods for OCR Page Engines


For OCR page engines only one voting method is available, XVoter.

13.6.2 Defining Voting Methods for OCR Field Engines


Five different voting methods are available for OCR Field Engines. You select the
method in the Voting Method area.

178 | eFLOW Visual Designer 4.5


Virtual Engine Design
Voting Properties

The methods are Safe, Normal, Majority, Order, and Equalizer. The default is Normal.
The following example illustrates the different outcomes that can be obtained from a
group of results from different engines.
An OCR virtual engine contains four engines, which return the following results for a
certain field:
Real Value: 253478

Engine Result

1
25***8

2
2*5378

3
253478

4
2*34*8

5
25***8

* The asterisk indicates that the character was not recognized by the engine.

The following table describes the algorithms for each voting method and shows the
results that each algorithm would return in the above example.

Voting Description Result


Method

Safe The result of the vote must be unanimous, i.e. all engines must return the same 2****8
result.

Normal The voting is unanimous if there is no conflict. Only engines that returned a 25**78
result are counted.

Majority This is a simple majority vote. If there is no majority, then the result is rejected. 253478

Order The first engine (according to the order in the OCR virtual engine) that is above 255378
the confidence threshold determines the result.

Equalizer The result is normalized by an algorithm that uses lookup tables and weighted 253478
rankings to compare and improve engine recognition results.

For all voting methods, voting is performed character by character, according to


the detected segmentation for the character. If, for any reason, an engine is
not able to determine a specific character’s correct segmentation, the voting for
this character will ignore the specific engine result or lack of result.

User's Guide | 179


Virtual Engine Design
The Equalizer for OCR Field Engines

13.6.3 Setting Virtual Engine Voting for OCR Field Engines


From the Max Rejected Chars edit box you set the minimal number of recognized
characters out of the total number of characters, in order for an engine to take part in
the voting. If the engine recognizes less than the percentage that you set, it does not
take part in the voting. By default, 100% is set. In other words, an engine must
recognize every character in order to participate in the voting.

Property Description

Max Guesses Use the Max Guesses property to set the maximum number of failed guesses before
recognition fails. (Default is 1.)

Enhancement
Click on the button to specify the image enhancement to be applied before an
engine performs recognition. For more information on enhancement, see section 4.3.5.

Keep Select the Keep Enhancement checkbox to specify that image enhancement is to be
Enhancement applied to the DIF image file. To disable, click to clear the check.

13.7 The Equalizer for OCR Field Engines


The Equalizer applies only to OCR field engines, and not to OCR page engines.
The Equalizer is a voting method that can be used to improve recognition results by
incorporating the Equalizer algorithms. These algorithms weight the value of engine
results according to confidence levels to improve the accuracy of these results. The
Equalizer can be used with or without lookup tables.

13.7.1 How the Equalizer Works


Each engine provides a guess and assigns it a confidence level. Each engine’s results
must also pass a minimal segmentation overlap test in order for its guesses to be
accepted. By default this value is 70%, the recommended overlap value. If the engine
segmentation does not pass this overlap test, the Equalizer algorithm will not use its
guesses.
All engine results that pass the segmentation test will be used and ranked by the
Equalizer. The Equalizer algorithm has a table that assigns a rank to the each
engine’s confidence levels. The engine rankings are based on the engine’s ability to
recognize information accurately. The Equalizer algorithm uses a hard-coded default
table of ranks, but it is possible to assign an alternate, custom ranking system to the
top engine guesses.
A result’s final adjusted rank is determined in the following way. The ranks of
identical guesses are added to produce a sum, which comprises an adjusted rank.
These adjusted ranks are then compared, and the two highest ranked guesses are
selected for further testing.
The two highest ranking guesses are subjected to three tests. The tests involve the
properties Min. First, Max. Second, and Min. Difference. These guesses must pass all
three tests or an unrecognized character is returned.

180 | eFLOW Visual Designer 4.5


Virtual Engine Design
The Equalizer for OCR Field Engines

Voting Method

The Equalizer is a sophisticated voting method. Each engine has a voting table. The
Equalizer compares the confidence levels results according to the confidence tables of
each engine. This process is done for each character separately.

Example

Let's assume 3 engines. All have the same confidence table for all guesses. The string
to be recognized is the word Hello.

Confidence 0-20 20-50 50-70 70-101

Score 0 1 2 3

Confidence H E L L O

Engine 1 H (25%) E(80%) E (67%) L (83%) L (20%) O (99%)

Engine 2 H (95%) E (29%) F (81%) L (80%) L (49%) O (69%) 0 (71%)

Engine 3 H (100%) E (75%) L (49%) L (17%) I (64%) O (18%)

Score H E L L O

Engine 1 H (1) E (3) E (2) L (3) L (1) O (3)

Engine 2 H (3) E (1) F (3) L (3) L (2) O (2) 0 (3)

Engine 3 H (3) E (3) L (1) L (0) I (2) O (0)

Total H (7) E (3) E (6) F (3) L (7) L (3) I (2) O (5) 0 (3)

Confidence Tables

The default values of confidence tables for first and other guesses:
 OCE - 20,40,60,101
 AEG - 20,50,99,101
 CGK - 20,45,90,101
 Charactell - 20,35,75,101
 Kadmos - 20,70,85,101
 Gentriqs - 50,90,99,101
 Nestor - 95,97,99,101
 Ligature - 95,97,99,101

User's Guide | 181


Virtual Engine Design
The Equalizer for OCR Field Engines

 Others - 20,40,85,101

Equalizer Parameters:

There are several types of Equalizer parameters:


 Common Parameters - settings relating to the Equalizer algorithm
 Engine Specific Parameters – settings for weighting recognition engine results

Common Parameters:

Use common parameters to configure the Equalizer algorithm.

Property Description

Equalizer Type Select the level of strictness of the Equalizer algorithm.

Normal – Select if you wish to accept the Equalizer results only when the best recognition
result is returned by all the engines, even if it is returned with a low confidence. There is
essentially no second choice.

Majority – Select when you wish to accept the best recognition result from the majority of
engines.

Safe – Select if you wish to accept the results only when all the engines return the same
recognition result as the first choice, with a high confidence level.

Overlap Set the minimum required overlap between the first engine and the rest of the engines.
(Recommended value more than 50.)

Min. First Specify a minimum acceptable confidence level for primary guess.

Max. Second Specify a maximum acceptable confidence level for secondary guess.

Min. Difference Specify a minimal acceptable confidence level difference between primary and secondary
guesses.

Mask Specify a string field mask using symbols: A (alphabetic), N (numeric) and C (character).

For example, to accept a field where the expected value is 2 alphabetic characters
followed by 3 numeric characters, enter the following string into the text box:

AANNNN

Mapping Specify a mapping string separated by semicolon. The first letter is the mapping
character, the others are alternate characters to be mapped to first character.

For example, if different A characters may appear (â, ä, æ, à, á, å) in a field but only
the A character is desired, the following string would be entered into the text box:

aâäæàáå

Strings are separated by semicolons.

Since many engines exist to recognize specialized character sets, string mapping is
usually not necessary.

182 | eFLOW Visual Designer 4.5


Virtual Engine Design
Copy and Paste or Delete a Virtual Engine

Engine Parameters:

Use these properties to specify how the Equalizer algorithm will work with the engine
results.

Property Description

Confidences1 If you do not wish to rely on Equalizer’s conversion statistics for engine results, you
(Primary Guess) can provide your own conversion scale.

Use for the primary guess of all engine results: provide a string used to convert
confidence levels to Equalizer rankings (0-3). Separate confidence levels with
commas. The string you provide is a series of confidence percentages, which
correspond to Equalizer scores 0, 1, 2, 3, in this order.

Confidences2 If you do not wish to rely on Equalizer’s conversion statistics for engine results, you
(Secondary can provide your own conversion scale.
Guess)
Use for the secondary guess of all engine results: provide a string used to convert
confidence levels to Equalizer rank. Separate confidence levels with commas. The
string you provide is a series of confidence percentages, which correspond to Equalizer
scores 0, 1, 2, 3, in this order.

Guesses Specify the number of engine guesses that the Equalizer will accept and use.

13.8 Copy and Paste or Delete a Virtual Engine

13.8.1 Copying and Pasting a Virtual Engine


You can copy and paste a previously created virtual engine.

To copy and paste a virtual engine:

1. In the engine explorer window, click to select the virtual engine that you wish to
copy.
2. Do one of the following:
 From the Selected menu, select the Copy option.
 With the mouse cursor on the highlighted virtual engine, click the right mouse
button to open the drop-down menu. Select the Copy option.
3. To paste the engine object do one of the following:
 From the Selected menu, select the Paste option.
 With the mouse cursor on the highlighted virtual engine, click the right mouse
button to open the object drop-down menu. Select the Paste option.
A copy of the virtual engine will appear in the application tree below the other
virtual engines in the application. If you wish to define this as a distinct virtual
engine, change the properties accordingly.

User's Guide | 183


Virtual Engine Design
Copy and Paste or Delete a Virtual Engine

13.8.2 Cutting or Deleting a Virtual Engine


You can cut or delete a previously created virtual engine.

When you cut a virtual engine, you can still paste it back into the engine object
tree. Once you have deleted an object, it is removed from the system
permanently.

To cut or delete a vitual engine:

1. Click to select the virtual engine you wish to cut or delete.


2. Do one of the following:
 From the Selected menu, select the Cut or the Delete option.
 With the mouse cursor on the highlighted virtual engine, click the right mouse
button to open the drop-down menu. Select the Cut or the Delete option.
The virtual engine will disappear from the engine object tree.

184 | eFLOW Visual Designer 4.5


Testing Virtual Engines
What is Engine Testing?

14 Testing Virtual Engines

14.1 What is Engine Testing?


Once you have finished the procedures to set up new OCR engines and virtual
engines, you may use the engine tester to generate statistics regarding engine
performance in order to evaluate the results.
 Testing allows you to check how well an engine or virtual engine recognizes
characters in a typical form.
 The testing tool allows you to open an image and apply a virtual engine to a
certain region.
 Testing also allows you to see whether the engine or virtual engine mistakenly
assigns high confidence to badly recognized characters (false positives).
 You can use the testing tool to test how well a certain engine or virtual engine
works on different forms and different areas of a form, or to compare the results
from different engines or virtual engines on the same form.
Use testing results to locate segmentation and recognition problems so as to improve
how engines handle information. Then, using the results that you have generated
with the engine tester, change relevant properties, attributes or enhancement
methods until results improve.

14.2 How to Test an Engine


To test an engine:

1. Click to select the engine or virtual engine you wish to test.


2. In the OCR working area click the file locator icon
3. Browse the file tree to locate an appropriate image file and click OK to open it.
The image file will appear in the workspace area, and the engine testing toolbar
will be activated.

4. Click the Engine Tester button to start the engine test.

User's Guide | 185


Testing Virtual Engines
How to Test an Engine

The engine tester toolbar contains the following buttons for controlling processing:

Button Description

Open an image batch file for testing.

Start the engine testing procedure. Click to open the Engine Tester window.

Use these button to page through the form.

Click the left most button to return to the first page.

Click the right most button to jump to the last page in the form.

The two middle buttons are used to move one page backwards or forwards, respectively.
The page location in the form is displayed in the central display box.

Resize the image. zoom out, return to original size, or zoom in.

186 | eFLOW Visual Designer 4.5


Testing Virtual Engines
How to Test an Engine

14.2.1 Defining Test Regions


Once you have opened the engine tester window, you must define a test region,
where recognition will be performed. The test region is the specific region that you
select in the form that will undergo the various types of data processing.

Creating a Region

Before performing any operation on a test region, you must first create it.

To create a region:

1. In the working area, click anywhere in the desired area of the form image
displayed.
The cursor will turn into a cross shape.
2. Click and drag the cursor over the area that you wish to define as a region.
The area will be highlighted in yellow.
3. To deselect the region, click anywhere outside the field.

Make sure to choose a barcode to test a barcode engine setup, numbers to test
numerical recognition, and so on.

User's Guide | 187


Testing Virtual Engines
How to Test an Engine

14.2.2 Running Tests


The test region you selected in the OCR desktop working area is displayed in the top
area of the engine tester window, as in the figure below.

You must now set test parameters, then run the test.

Region Definitions

Specify a minimum and maximum number of characters, words and lines expected
for the field being tested.

Virtual Engines

If you are not testing a virtual engine (consisting of several recognition engines
working together), this data box will appear. You must select a test engine using the
drop-down list box.
When testing a virtual engine, this will not appear.

To Start Processing

When you have chosen a test region and specified field definitions and virtual engine,
click the Run Test button at the bottom of the Engine Tester. Once activated,
processing begins.

188 | eFLOW Visual Designer 4.5


Testing Virtual Engines
How to Test an Engine

14.2.3 Engine Test Results


The results are displayed in the central area. This area provides cumulative engine
result states for individual fields. Result states are displayed in the following columns:
 Character – The character recognized.
 Confidence – Rating of confidence (appropriateness) that the character was
correctly identified by OCR voting.
 Left, Top, Right, Bottom – Coordinates of the character recognized.

If results are not satisfactory, change the engine, the region definitions and/or virtual
engine parameters, and retest until you receive satisfactory results.

User's Guide | 189


Appendix A
Defining Event Functions

Appendix A

Defining Event Functions


In eFLOW4’s Visual Designer, two custom environment options are available:
 VS: Microsoft Visual Studio 2005
 #SharpDev: #Sharp Developer Visual Studio.

Overview
You can define your own action routines to act on object contents. These action
routines, called events, are executed upon specific window events, such as entry to or
exit from a field, or upon keying of specific function keys. Events are defined for the
station interfaces. They are triggered when the operator performs an action in the
Completion or other stations.
The available function keys are: F1-F12 and combinations of Ctrl, Alt, and Shift.
This Appendix contains a list of the system events that can be programmed using the
.NET managed functions.
Before building events, the setting for Default Custom Environment must be specified
(see below).

To build an event:

1. In the Application or Workflow Visual Designer, click the object for which you wish
to create an event.
The available events appear in the Object Inspector under the Events tab.
2. You can create events either by writing Win32 DLLs, or by using one of the two
custom .NET environments:
 VS IDE environment for VB.Net projects, or
 #SharpDev IDE environment for C# projects).
See Default Custom Environment option in the Options menu.

190 | eFLOW Visual Designer 4.5


Appendix A
Defining Event Functions

To use an existing method when you know the full


method name:

1. In the Application or Workflow Visual Designer, click the object for which you wish
to create an event.
The available events appear in the Object Inspector under the Events tab.

1. Enter the full method name:


 for Win 32: <DLL_name>:<Function_name>
 for .Net: <Assembly_name>:<Class_name>:<Method_name>

To locate a method in an existing DLL:

1. In the Options menu, select Default Custom Environment.


The Default Custom Environment dialog opens.
2. Specify .NET as the invoke type.
3. Mark the checkbox Browse_events _only, and click OK.
The Default Custom Environment dialog closes.
4. In the Click the browse […] button.
The file explorer opens.
5. In the file explorer, select the relevant DLL.
The Assembly Explorer opens, displaying the methods for the selected DLL. Note
that the list contains only the methods that match the signature of the event
currently being defined.

User's Guide | 191


Appendix A
Defining Event Functions

6. Select the relevant Method, and click OK.


The full method name is automatically filled in for the event.

If you do not have an existing DLL and wish to write a method in .NET:

1. In the Default Custom Environment dialog, make sure the browse_events_only option
is unchecked.

2. Click the browse (…) button.


The relevant development environment opens, as per your environment
definition.
3. Create and save the method.

192 | eFLOW Visual Designer 4.5


Appendix A
Field Common Events

Field Common Events


The Field object has the following events.
(*) NOTE: The first parameter for each event, before the parameters below, is
CSM (ITisClientServicesModule type).

Event Description of Event Param Param Type Param Description


name(*)

OnEnter Triggered when entering [in] FieldData ITisFieldData Dynamic tree node
the field

[in] FieldValue String The field value

OnChange Triggered when changing [in] FieldData ITisFieldData Dynamic tree node
contents of field
(after the change)

[in] FieldValue String The original field value

OnExit Triggered when exiting [in] FieldData ITisFieldData Dynamic tree node
field

[in] FieldValue String The field value

OnExiting (Completion only) Triggered [in] FieldData ITisFieldData Dynamic tree node
when exiting field

[in - out] Boolean Whether to cancel exiting


bCancel from the field

OnKey Triggered when key [in] FieldData ITisFieldData Dynamic tree node
pressed
(before change)

[in] FieldValue String The field value

(before change)

[in - out] Key Short The code of the key


pressed

[in - out] Short Shift state


Modifiers

The same (corresponding) event prototypes are used for the OnAnyFieldEnter,
OnAnyFieldChange, OnAnyFieldExit and OnAnyFieldKey assigned to the form.

User's Guide | 193


Appendix A
Field Validation Event

Field Validation Event

Event name Description of Event Param Param Type Param Description

<None> [in] FieldData ITisFieldData Dynamic tree node

[in] FieldValue String The original field value

Return value Long 0 = valid

Other = invalid field

Field Group Events


The Field Group object has the following events:

Event Description of Event Param Param Type Param Description


Name

OnEnter Triggered when entering [in] ITisFieldGroupData Dynamic tree node


the field group FieldGroupData

OnExit Triggered when exiting [in] ITisFieldGroupData Dynamic tree node


field group FieldGroupData

OnKey Triggered when key [in] ITisFieldGroupData Dynamic tree node


pressed FieldGroupData

[in] Key Short The code of the key


pressed

[in] Modifiers Short Shift state

Runtime Module Common Events


All the runtime modules have the following events:

Event name Description of Event Param Param Param


Type Description

OnIdle Invoked whenever the idle time of <none>


any station has reached the time
limit specified in the Idle Interval
property.

OnLogin Performed before starting the <none>


user login session.

OnLogout Performed when closing the <none>


module

194 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Common Events

Event name Description of Event Param Param Param


Type Description

OnTimer Invoked whenever the idle time of <none>


any station has reached the time
limit specified in the Idle Interval
property.

OnFunctionKey Performed when a defined [in] Key short


function key (F1-F12) is pressed.

[in] short Shift state


Modifiers

OnPrePutCollections Performed just before the module [in-out] boolean Allow action
returns the forms/batches to the CanPut to occur.
system.

OnPostPutCollections Performed after the module <none>


returns the forms/batches to the
system.

OnPreDiscardCollections Invoked before the module [in-out] Boolean Allow action


discards one or more collections. CanDiscard to occur.

OnPostDiscardCollections Invoked when the module <none>


discards one or more collections.

OnPreSaveCollections Performed when a form is about [in-out] boolean Allow action


to be saved into the database. CanSave to occur.

OnPostSaveCollections Performed after a collection is <none>


saved into the database.

OnPreUndoCollections Performed when the module [in-out] Boolean Allow action


requests to undo creation of a CanUndo to occur.
collection just before collection
undone. Used by Enterprise
Portals only.

OnPostUndoCollections Performed after the creation of a <none>


collection undone. Used by
Enterprise Portals only.

OnPreCreateCollections Performed just before creating the [in-out] boolean Allow action
collection. Used by Enterprise CanCreate to occur.
Portals only. Used by Enterprise
Portals only.

OnPostCreateCollections Performed after creating the <none>


collection. Used by Enterprise
Portals only. Used by Enterprise
Portals only

User's Guide | 195


Appendix A
Runtime Module Events

Event name Description of Event Param Param Param


Type Description

OnPreDeleteCollections Performed just before deleting the [in-out] boolean Allow action
collection. Used by export only CanDelete to occur.

OnPostDeleteCollections Performed after deleting the <none>


collection. Used by export only

Runtime Module Events

FilePortal Module
Aside from the generic events listed previously, the FilePortal module has the
following events:

Event name Description Param Param Param Description


of Event Type

OnFlowSelect Performed [in] FlowName String


when the
flow to be
used is
selected or
modified

OnStartManualFileGather Performed [in] Safe Always an empty array


when the LinkedFileNames Array
(used only by efAutoGate)
run button is
pressed and
manual
gathering of
files is
starting.

[in] Safe Contains strings


NonLinkedFileNames Array

OnStartAutoFileGather Performed [in] short 0 – LAN


when the RemoteLocationType
1 - FTP
polling timer
is reached
and
automatic
file polling
starts.

[in-out] searchPath string

196 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description Param Param Param Description


of Event Type

[in-out] variant
AdditionalData

OnEndFileGather Performed
after file
gathering
has ended.

OnPreFileRead Performed [in-] OriginalExtFile String The original (remote)


before file extracted file name.
Name
process
occurs (from
the local
temporary
files).

[in-out] FileName String Extracted file names (File


names are relative to the
search path).

OnPostFileRead Performed [in] FileName String (File names are relative to


after file the search path).
process
occurs.

[in] ReadStatus Long

OnFillInputForm Called before N/A in Ver. 1.0.0.15


a new batch
is inserted
into the
system – to
enable
automatic
input form
filling.

OnPrePageHandle Performed [in] PageNumber Short One based


before a
page is read.

[in] FileName String

User's Guide | 197


Appendix A
Runtime Module Events

Event name Description Param Param Param Description


of Event Type

[in-out] Boolean A flag indicating if the user


ExternalPageTest is in charge of checking if
the page is a separator
page. When set to true
the page type is not
checked by the
application, and should be
checked by OnPostPage.

[in-out] Boolean Terminates the gathering


AbortSession of the image files and does
not delete the original
image files.

OnPostPageHandle Performed [in] PageNumber Short


after a page
is read and
is resident in
memory.

[in] FileName String

[in] hBitmap HBITMAP

[in-out] PageType enum Separator/Blank/Normal

[in-out] DiscardPage Boolean

[in-out] Boolean
AbortSession

For more information on the FilePortal module, see section 4.7.3.

ScanPortal Module
Aside from the generic events listed previously, the ScanPortal contains the following
events:

Event name Description of Param Param Param Description


Event Type

OnFlowSelect Performed when [in-out] String


selecting a flow. FlowName

198 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Param Param Param Description


Event Type

OnPreInputForm Performed before [in-out] Boolean


input form is ShowForm
displayed. Used
to set the input
form’s values or
to display
customized forms
instead of built-in
input forms.

OnPostInputForm Performed after [in-out] CanClose Boolean Allow action to occur.


the input form is
displayed. Use to
cancel the input
operation based
on the
appropriateness
of the input
form’s values.

OnScanSessionReset Performed when [in-out] Boolean Allow action to occur.


the scanning CanReset
button is
pressed.

OnScanSessionContinue Performed when [in] integer Relative to session. 1


Continue button LastBatchNumber based.
is pressed (while
in pause mode).

[in] integer Relative to batch. 1


LastFormNumber based.

[in] integer Relative to form. 1 based.


LastPageNumber

[in-out] Boolean If false – session remains


CanContinue paused.

OnScanSessionStop Performed when [in-out] CanStop Boolean If false – session does


the user presses not stop
the stop scan
session button.

OnScanSessionDone Performed when


the batch scan is
terminated
normally.

User's Guide | 199


Appendix A
Runtime Module Events

Event name Description of Param Param Param Description


Event Type

OnScanSessionError Performed when [in] StopReason long Relative to session. 1


the batch scan is based.
terminated
abnormally (due
to some error).

[in-out] Boolean
AbortSession

OnPrePageScan Performed before [in] PageNumber short Relative to session. 1


a page is based.
scanned.

[in-out] Boolean A flag indicating if the


ExternalPageTest user is in charge of
checking if the page is a
separator etc. When true
the page type is not
checked by the
application, and should be
checked by OnPostPage.

[in-out] boolean
PrepareBitmap

[in-out] Boolean
AbortSession

OnPostPageScan Performed after a [in] short Relative to session. 1


page is scanned BatchNumber based.
and is resident in
memory.

[in] FormNumber short Relative to batch. 1


based.

[in] PageNumber short Relative to form. 1 based.

200 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Param Param Param Description


Event Type

[in] FileName String The local image file name


– excluding the last page
(not added yet).

If both B&W and color


images are scanned – this
will be the B&W file name.
The color image file name
in such a case can be
derived from the same file
name after the extension
is replaced.

[in] hBitmap HANDLE HBITMAP

[in-out] short
PageNumber

[in-out] enum Separator/Blank/Normal


PageType

[in-out] Boolean
DiscardPage

[in-out] Boolean
AbortSession

OnPreRescanPage Performed before [in] short Relative to session. 1


a page is BatchNumber based.
rescanned.

[in] FormNumber short Relative to batch. 1


based.

[in] PageNumber short Relative to form. 1 based.

[in-out] Boolean
CanRescan

OnDeleteScannedBatch Performed when [in] short 1 based


the user selects BatchNumber
the Delete Batch
menu option.

[in-out] Boolean
CanDelete

OnDeleteScannedForm Performed when [in] BatchIndex Short Relative to session. 1


the user selects based.
the Delete Form
menu option.

User's Guide | 201


Appendix A
Runtime Module Events

Event name Description of Param Param Param Description


Event Type

[in] FormIndex Short Relative to batch. 1


based.

CanDelete Boolean

OnDeleteScannedPage Performed when [in] short Relative to session. 1


the user selects BatchNumber based.
the Delete Page
menu option.

[in] FormNumber short Relative to batch. 1


based.

[in] PageNumber short Relative to form. 1 based.

[in-out] Boolean
CanDelete

For more information on the ScanPortal module, see section 4.7.4.

ManualID Module
Aside from the generic events listed previously, the ManualID module contains the
following events:

Event name Description of Event Param Param Type Param Description

OnPostSelectEFI [in] PageData ITisPageData Dynamic tree node

For more information on the ManualID module, see section 4.7.6.

Processing (Recognition and FormID) Module


Aside from the generic events listed previously, the Processing module has the
following events:

Event name Description of Event Param Param Param


Type Description

OnPrePageProcess Performed before page [in] PageNumber short 1 based page


process occurs. number

[in-out] Boolean
AbortProcess

OnPostPageProcess Performed before page [in] PageNumber short 1 based page


process occurs. number

202 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Event Param Param Param


Type Description

[in-out] boolean
AbortProcess

Event name Description of Default Param Param Param


Event Function Name Type Description

OnPostEngineHook Invoked for EngSetPage ROINumber short The


each engine number of
EngSetField
and region. this ROI. 0
EngMain based.

pEngineIdentifier Pchar Do not free


this string.

pIPEField Do not free


this
pointer.

OnPostVoteHook Invoked for VotedSetPage pFieldName PChar Do not free


each field this string
VotedMain
after voting.
The following
callback
should return
true, if the
fields for this
page should
be processed
or false if we
should skip
the hooks for
this page.

ROINumber short The


number of
this ROI. 0
based.

pIPEField Do not free


this
pointer.

User's Guide | 203


Appendix A
Runtime Module Events

Event name Description of Default Param Param Param


Event Function Name Type Description

OnEFIOrderHook Used when ObtainNextEFI [in] LastPageEFI PChar


there is more
than one EFI,
in order to
improve form
identification
time by
predicting the
next EFI that
has to be
checked.

Invoked
before calling
FormOut!

[in] Pchar
NewPageLastEFI

[out] Pchar
NewPageNextEFI

[in] short
NewPageNextEFILen

OnPageReadHook Invoked after ImageRead PageNumber The


the page is number of
taken from the page
the image file
and before
any
enhancement
was done.

PageImage Pointer to
bitmap

OnPageEnhDoneHook Invoked after ImageEnhanced


the
preliminary
enhancement

OnPostPageIdHook Invoked after PostPageRecog [in] pPageImage The bitmap


the call to of the page
FormOut!

[out] pPROIList The list of


ROI’s

204 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Default Param Param Param


Event Function Name Type Description

[out] pPageId The name


of the EFI

[out] MatchCode The


matching
index result

For more information on the Processing module, see section 4.7.7.

Page OCR Module


Aside from the generic events listed previously, the Page OCR module has the
following events:

Event name Description of Event Param Param Param


Type Description

OnPrePageProcess Performed before page [in] PageNumber short 1 based page


OCR occurs. number

[in-out] Boolean
AbortProcess

OnPostPageProcess Performed before page [in] PageNumber short 1 based page


OCR occurs. number

[in-out] boolean
AbortProcess

Completion Module
Aside from the generic events listed previously, the Completion module has the
following events:

Event name Description of Event Param Param Type Param


Description

OnExceptionListDisplay Performed when the [in] FieldData ITisFieldData Dynamic tree


exceptions list dialog node
box is displayed.

Performed when the


exceptions list display is
cancelled

User's Guide | 205


Appendix A
Runtime Module Events

Event name Description of Event Param Param Type Param


Description

[in-out] Boolean Show default


ShowDefScreen screen

OnExceptionListCanceled Invoked when an [in] FieldData ITisFieldData Dynamic tree


exception is set. node

OnExceptionSet Performed when the [in] FieldData ITisFieldData Dynamic tree


exceptions list dialog node
box is displayed.

OnExceptionListDisplay Performed when the [in] FieldData ITisFieldData Dynamic tree


exceptions list dialog node
box is displayed.

Performed when the


exceptions list display is
cancelled

206 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Exceptions Module
Aside from the generic events listed previously, the Exceptions module has the
following events:

Event name Description of Event Param Param Type Param


Description

OnExceptionListDisplay Performed when the [in] FieldData ITisFieldData Dynamic tree


exceptions list dialog node
box is displayed.

Performed when the


exceptions list display is
cancelled

[in-out] Boolean Show default


ShowDefScreen screen

OnExceptionListCanceled Invoked when an [in] FieldData ITisFieldData Dynamic tree


exception is set. node

OnExceptionSet Invoked just before user [in] FieldData ITisFieldData Dynamic tree
moves to the next node
exception.

OnPreGotoException Invoked after user [in] FieldData ITisFieldData


moves to the next
exception.

Performed when the


exceptions list dialog
box is displayed.

[in-out] CanGo Boolean

OnPostGotoException Performed when the [in] FieldData ITisFieldData Dynamic tree


exceptions list display is node
cancelled

For more information on the Exceptions module, see section 4.7.9.

User's Guide | 207


Appendix A
Runtime Module Events

Export Module
Aside from the generic events listed previously, the Export module has the following
events:

Event name Description of Param Param Type Param Description


Event

OnPreConvertBatch Invoked [in-out] Boolean


before CanConvert
converting
batch.

OnPostConvertBatch Invoked after [none]


converting
batch.

OnXMLFormCreated Performed [in] XMLForm IXMLDOMElement


when XML
form is
created.

OnASCIILineCreated Performed [in-out] string


when ASCII LineBuffer
file created.

[in-out] Boolean
CanExport

OnExceptionLineCreated Performed [in-out] string


when ASCII LineBuffer
file created.

[in-out] Boolean
CanExport

OnPreWriteXML Performed [in] XMLDoc IXMLDOM


before writing Document
XML file.

[in-out] Boolean
WriteXML

OnPostWriteXML Performed [none]


after writing
XML file.

OnPreWriteFile Triggered [in] FileType enum Exception/


before any
ASCII/INI
non-XML file is
written to the
local drive.

208 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Param Param Type Param Description


Event

[in-out] Buffer VARIANT “PChar*”

[in-out] Boolean
WriteFile

OnPostWriteFile Triggered [in] FileType enum Exception/ASCII/INI


after any non-
XML file is
written to the
local drive.

OnPreBatchLaunched Triggered [in] string Required – since this


before the CollectionName may be on a separate
batch is thread.
launched.
In order to cancel the
launch – delete local
files.

OnPostBatchExported Triggered [in] string Required – since this


after the batch CollectionName may be on a separate
is launched thread
and is
received by
the target.

For more information on the Export module, see section 4.7.11.

Controller Module
Aside from the generic events listed previously, the Controller module has the
following events:

Event name Description Param Param Type Param


of Event Description

OnPreManageCollections [in] oAction ITisManageCollectionAction

[in-out] Boolean
bCanDoAction

[in-out] Boolean
bDetailsNeeded

OnManageCollectionsDetails [in] oAction ITisManageCollectionAction

[in] oActionInfo ITisManageCollectionActionInfo

User's Guide | 209


Appendix A
Runtime Module Events

Event name Description Param Param Type Param


of Event Description

[in-out] Boolean
bCanDoAction

OnPostManageCollections [in] oAction ITisManageCollectionAction

210 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Freedom Modules
Aside from the generic events listed previously, the Freedom modules also have the
following events:

Event name Description of Param Param Type Param


Event Description

OnAutoDocMergeDeterminePage Performed [in] CSM TisClientServicesModule Client


when the services
FreeCompletion interface
station
performs an
automatic
merge.

Called for each


page in a
collection.

[in] PageData ITisPageData Dynamic tree


node

[out] Integer Index of


OrderInDocument current page
in form
(starting
from 1)

[out] Boolean Is current


IsAttachment page an
attachment

[out] Automatic Boolean Should


station
perform
automatic
merge
actions on
this page or
not (if not
customization
merge code
expected).

User's Guide | 211


Appendix A
Runtime Module Events

Event name Description of Param Param Type Param


Event Description

OnManualDocMergeNewDoc Performed [in] CSM TisClientServicesModule Client


when manual services
doc merge interface
takes place
and current
page is set as
a new
document.

[in] PageData ITisPageData Dynamic tree


node

[out] ITisFormData Dynamic tree


PreviousFormData node

[out] Automatic Boolean Should


station
perform
automatic
merge
actions on
this page or
not (if not
customization
merge code
expected).

OnManualDocMergeAttachment Performed [in] CSM TisClientServicesModule Client


when current services
page is interface
manually set to
attachment.

[in] PageData ITisPageData Dynamic tree


node

[out] ITisFormData Dynamic tree


PreviousFormData node

212 | eFLOW Visual Designer 4.5


Appendix A
Runtime Module Events

Event name Description of Param Param Type Param


Event Description

[out] Automatic Boolean Should


station
perform
automatic
merge
actions on
this page or
not (if not
customization
merge code
expected).

OnManualDocMergeContinuesDoc Performed [in] CSM TisClientServicesModule Client


when manual services
doc merge interface
takes place
and current
page is set as
continues page
of current
document.

[in] PageData ITisPageData Dynamic tree


node

[out] ITisFormData Dynamic tree


PreviousFormData node

[out] Automatic Boolean Should


station
perform
automatic
merge
actions on
this page or
not (if not
customization
merge code
expected).

For more information on the Freedom modules, see sections 4.7.13, 4.7.14, and
4.7.15.

User's Guide | 213


Appendix B
Utility Kit

Appendix B

Utility Kit
The eFLOW Utility Kit can be accessed by double clicking the eFLOW icon and
selecting Utility Kit. The eFLOW Utility Kit screen is displayed:

Click on the relevant icon to launch the desired option.


The following options are available:

CSM View
A utility for viewing and editing raw setup information.

Never modify any parameter using this utility unless you are 100% sure of
what you are doing (or if you are instructed to do so).

Collection Information
A utility for viewing collection data. This utility enables the user to log on to Integra
or Freedom disguised as any defined workflow station, and to view the raw collection
information that can be routed to the specified station. (Collection data can also be
dumped to a file in XML format.)

214 | eFLOW Visual Designer 4.5


Appendix B
Utility Kit

Test Debug Logger


An internal utility for testing the debug logger.
Useful when testing installation problems. Can be used to make the logger visible
when a problem occurs.

eFLOW Folder
The main folder under which all fixed eFLOW data is installed (BIN, Help, OCRs etc.)

eFLOW Data Folder


The main folder under which all user (usually modifiable) eFLOW data is placed.

PixTran ScanOnly
Opens a scanning application that can be used to scan in documents.

OCR Viewer
Viewer to display OCR page results.

User's Guide | 215


Index
General Index

Index

General Index
(event functions ............................................ 197 DropOut!...................................................... 134
acceptable range ............................................ 97 Dynamic Workflow
action routines (events) ................................. 197 and Controller ............................................. 82
algorithms for individual Region of Interests .....140 EFI
application ..................................................... 14 adjusting the view ..................................... 130
Application Empty Forms ................................. 13, 86, 126
Collapse Tree......................................... 28, 29 enhancement viewer .................................... 57
EFI ............................................................ 45 Flow ........................................................... 54
Empty Form Image ..................................... 45 removal regions......................................... 142
Expand Tree .......................................... 28, 29 Tolerances ................................................ 132
Save..................................................... 28, 29 EFI details removed....................................... 134
black background EFI enhancement
wipe out..................................................... 58 magnify displayed image .............................. 57
calculates statistical data ................................. 26 select another image .................................... 57
characters broken during scanning.................... 63 shrink displayed image ................................. 57
Collapse Application Tree ............................ 28, 29 EFI properties ............................................... 132
Column EFIs......................................................... 44, 54
Create ...................................................... 115 eFLOW Tool Bar .............................................. 28
Column Events .............................................. 123 eliminate excess noise ..................................... 60
Column name................................................ 116 eliminating lines .............................................. 62
Column validation properties ................... 116, 117 engine
Completion general properties...................................... 176
customize layout ......................................... 18 engine description ......................................... 176
validation rules .................................. 108, 163 engine name ................................................ 176
Completion module ......................................... 25 Engine Test
constants ..................................................... 166 results ...................................................... 196
Content Delivery module ................................. 25 Engine Tester tools ........................................ 193
Controller ...................................................... 23 enhancement builder ....................................... 56
copy an operator ........................................... 165 Enhancement tokens ....................................... 58
current date as limit........................................ 97 Enterprise Manager ......................................... 26
date range ..................................................... 97 Equalizer ...................................................... 187
decimal length ............................................... 97 learn from past performance ....................... 187
default removal algorithm ....................... 140, 142 Equalizer algorithms ...................................... 187
define Exception Category
character enhancements .............................. 62 name ......... 43, 70, 94, 116, 155, 156, 164, 168
input form .................................................. 50 exception rules ............................................. 153
OCR engines .............................................. 178 Exceptions setup ........................................... 153
OCR virtual engine engines.................. 181, 182 ExperVision TypeReader ................................. 176
RIO’s ........................................................ 139 Expland Application Tree ............................ 28, 29
define FormID for region ................................ 140 extraneous lines.............................................. 63
definition of a Flow ......................................... 48 FeaturesID ................................................... 134
deskew ......................................................... 58 field
deskew and register ........................................ 58 acceptable range ......................................... 96
DIF .............................................................. 135 define validation .......................................... 17
DLL .............................................................. 170 Field

216 | eFLOW Visual Designer 4.5


Index
General Index

Lookup Tables............................................103 Save Remove ............................................ 135


Field Events ..................................................107 Form Removal
field group Tolerances ................................................ 132
general properties ....................................... 90 form setup ............................................... 13, 83
Field Group format of date ................................................ 97
Create ....................................................... 90 FormID
Field Group Events .......................................... 91 Match EFI ................................................. 141
field group name ............................................ 90 FormOut! .............................................. 134, 140
Field name ..................................................... 94 test .......................................................... 137
Field validation properties ................................ 98 forms
File Portal module ........................................... 67 bad margins ................................................ 55
fine-tuning ....................................... 18, 144, 171 batch ......................................................... 15
finish building a Rule ......................................165 defning fields .............................................. 17
float organization of ............................................ 15
decimal length ............................................ 97 prepare for processing .................................. 16
flow separator .................................................... 15
create form ................................................ 83 truncated .................................................... 55
link forms ............................................ 86, 126 ICR................................................................ 23
Flow IDnumber .................................................... 166
bad beginning ............................................. 55 image enhancement ............................... 177, 187
batch name prefix ....................................... 53 improve recognition ....................................... 187
batch names.......................................... 52, 53 integrity radius ............................................. 135
define search path....................................... 52 Integrity Radius ............................................ 136
description ................................................. 49 interface to other software ............................... 20
EFI ............................................................ 54 interpret form entries ...................................... 14
Empty Form Image...................................... 54 KADMOS™ ................................................... 176
form recognition properties .......................... 54 line
form recognition properties .......................... 54 connection double vertical........................... 136
general properties ....................................... 49 line connection
Input ......................................................... 51 double horizontal ....................................... 136
input form .................................................. 50 lookup table ........................................... 44, 103
keep color/gray........................................... 53 low-quality printer ........................................... 63
name ......................................................... 49 magnify displayed image .................................. 57
name ......................................................... 49 Max date ........................................................ 97
processing stages ........................................ 54 Max Value ...................................................... 96
Flow module maximum acceptable date ................................ 97
setup ......................................................... 48 maximum size of noise .................................... 60
flow set Min date......................................................... 97
create ........................................................ 16 minimal confidence................................. 177, 178
flows minimum acceptable date ................................ 97
define ........................................................ 17 minimum thickness ratio .................................. 62
form ........................................................ 13, 83 module
capturing ................................................... 26 description .................................................. 70
create ........................................................ 83 name ......................................................... 70
general properties ....................................... 84 multipage TIF file ............................................ 52
storing ....................................................... 26 NestorReader™ ............................................. 176
form description ............................................. 84 noise filter ...................................................... 60
form name ..................................................... 84 OCR............................................................... 23
form removal ................................................143 OCR Analyzer ................................................. 26
default algorithm........................................134 OCR Analyzer module ...................................... 26
Keep Everything.........................................135 OCR engine
Keep Nothing .............................................135 create new ................................................ 178

User's Guide | 217


Index
General Index

OCR engines .................................................. 14 Rule builder .................................................. 165


define ....................................................... 182 Safe Remove
fine tuning .......................................... 19, 192 algorithm .................................................. 136
OCR Engines sample applications ......................................... 15
templates ............................................ 18, 171 Save Application ....................................... 28, 29
OCR virtual engine scanning no presorting................................... 137
five voting methods .................................... 186 select another image ....................................... 57
normal voting ............................................ 186 SetOCR statistics
Normal voting ............................................ 186 process engine results ................................ 195
order voting .............................................. 186 setting try rotations ....................................... 137
Safe voting................................................ 186 shrink displayed image .................................... 57
OCR Virtual Engines size of gaps .................................................... 63
define ....................................................... 181 system hardware architecture ........................... 26
OCR/ICR engines ................................... 171, 176 system setup steps ......................................... 16
OMR ............................................................. 23 Table
OnEvent Functions .......................................... 17 Create ...................................................... 111
Page general properties...................................... 111
Create ....................................................... 85 Table location ............................................... 113
Page description ............................................. 86 Table name .................................................. 111
Page name .................................................... 86 test data entry ................................................ 19
page recognition engine ................................. 134 test FormOut! ............................................... 137
prepare forms for processing ........................... 16 TIF .............................................................. 138
problematic cases ........................................... 18 Tolerance guidelines ...................................... 132
Process module .............................................. 24 tolerances
quality of matching ........................................ 138 angle rotation............................................ 133
realign an image ............................................ 58 TIF size .................................................... 133
reconnect broken lines ........................... 133, 136 vertical and horizontal scaling ..................... 133
Region of Interest vertical shift .............................................. 133
algorithms for individual.............................. 140 tolerances
Any Data................................................... 141 horizontal shift .......................................... 133
define ....................................................... 139 tuning the system ........................................... 19
define FormID ........................................... 140 Validation Function
define OCR parameters ...............................144 Create ...................................................... 110
Empty....................................................... 142 Validation Function builder ............................. 169
Keep Everything......................................... 143 validation rules ...................................... 108, 163
Keep Nothing ............................................. 143 variable data overlaps constant data ........ 133, 136
Thin Remove ............................................. 144 Virtual Engine
types ........................................................ 140 general properties...................................... 183
Region of Interest Virtual Engine description ............................... 183
ignore mismatches ..................................... 143 Virtual Engine name ...................................... 183
removal voting
algorithm .................................................. 136 Majority .................................................... 186
Line Connection ......................................... 136 Normal ..................................................... 186
overlapping data ........................................ 136 Order ....................................................... 186
region attributes ........................................ 140 wipe black background..................................... 58
removal of horizontal and vertical lines ............. 62 workflow
removal region attributes ...............................140 and Module Activator.................................... 82
ROI Workflow
move ........................................................ 149 data router ................................................. 78
rotate the image............................................. 63 End ............................................................ 66
Rule exit ............................................................ 66
Create ...................................................... 109 Module ....................................................... 65

218 | eFLOW Visual Designer 4.5


Index
General Index

ordering of modules .................................... 65 data router ................................................. 78


Start.......................................................... 65 workflow modules
Workflow Designer .......................................... 65 general properties........................................ 70
connect modules ......................................... 78 wxpression syntax ......................................... 165

User's Guide | 219

You might also like