How The OCR Engine Is Configured

Global Capture uses the ABBYY Optical Character Recognition (OCR) Engine to read and classify documents. ABBYY is a very flexible and highly configurable OCR Engine and has configuration options that can be tweaked to help get the best possible results. This is a brief overview of what configuration files are used, and what the parameters in those files, do.

GlobalCapture Settings

The engine uses two primary configuration files, located in several locations; the TextOCR.cfg and the FullPageOCR.cfg. TextOCR.cfg is used to extract data from a page, whereas FullPageOCR.cfg uses the same parameters to convert and create text-searchable PDF files. For GlobalCapture, the FullPageOCR.cfg and the TextOCR.cfg files are in new locations. The parameters are still the same from previous versions.

Template Designer

  • TextOCR.cfg: C:\inetpub\wwwroot\Square9Viewer

GlobalCapture Engine

  • TextOCR.cfg: C:\GetSmart\CaptureServices\GlobalCapture_1

  • FullPageOCR.cfg: C:\GetSmart\CaptureServices\GlobalCapture_1


Additionally you can configure individual GlobalCapture workflows to use different TextOCR settings by placing a file named after the workflow in the GlobalCapture Engine directory;

GlobalCapture Engine per Workflow TextOCR:

  • WORKFLOWNAME.cfg: C:\GetSmart\CaptureServices\GlobalCapture_1



Please Be Advised

If the TextOCR.cfg files are different between the Template Designer and the GlobalCapture engine, the Template will read differently from what the engine will return. 

Changes to the TextOCR.cfg for Template Designer won't be reflected on existing samples. Only new ones. Upload a new sample to your template for the changes to take effect. 



Full Page OCR and Zonal Settings

We use the Abbyy Engine for Full Page and Text-based OCR. Abbyy is an extremely configurable engine which contains many settings that impact how the data is read. These configuration files are stored in 3 locations within the GetSmart directory:

  • FullPageOCR.cfg – TextPDF/Full Page OCR Configuration settings.

    • These settings are used when converting a document to a text searchable PDF or other electronic formats.

  • TextOCR.cfg

    • These settings are used when extracting data use Zonal OCR.

  • FullPageBaseSettings.cfg

    • These settings contain a profile of commonly used settings present in version 4.1, which are customized further by FullPageOCR.cfg.


Please Be Advised

Changes to the default settings of these configuration files have not been tested by Square 9 and are modified at your own risk. Any changes you make to your OCR config files will require you to upload new sample documents and run scanning tests to see if you have better OCR results. Generally speaking, you can ask advisement of a Square 9 Technician but you would be encouraged to test on your own. As testing out new OCR configurations can take many hours. Keep in mind that changes to these files are global and will effect all incoming documents.



Configuration Objects

Both Files, TextOCR.cfg and FullPageOCR.cfg have similar configurations when GlobalSearch desktop client is installed. Each configuration files consists of one or many objects. In each object, there are a number of properties that can be defined, these objects are as follows and are found in the FullPageOCR.cfg and TextOCR.cfg files:

  • PDFExportParams

  • PagePreprocessingParams

  • PageAnalysisParams

  • ObjectsExtractionParams

  • RecognizerParams

  • DocumentStructureDetectionParams



Please Be Advised

These changes are global, changing these will affect all zonal OCR and text PDF activities



FullPageBaseSettings.cfg and ZonalBaseSettings.cfg Settings

FullPageBaseSettings.cfg contains a single string which defines the profile loaded when TextPDF creation is run. It’s values are outlined below:

  • DocumentConversion_Accuracy

    • (Ex: RTF, DOCX) Suitable for converting documents to an editable format. Settings have been optimized for accuracy

  • DocumentConversion_Speed

    • Suitable for converting documents to an editable format. Settings have been optimized for speed

  • DocumentArchiving_Accuracy

    • Suitable for creating an electronic archive (PDF, PDF/A etc.) The settings have been optimized for processing speed. (Skew correction is not performed)

  • TextExtraction_Accuracy

    • Used to extract zonal field data, optimized for accuracy

  • TextExtraction_Speed

    • Used to extract zonal field data, optimized for speed at a loss of accuracy

  • FieldLevelRecongnition

    • For recognizing short text fragments

  • HighCompressedImageOnlyPDF

    • For creating high-compressed PDF files which the entire document is saved as pictures

  • BusinessCardsProcessing

    • For recognizing business cards

  • EngineeringDrawingsProcessing

    • Optimizes the OCR engine for recognizing technical drawings with text oriented in different directions

FullPageOCR.cfg and TextOCR.cfg Settings

Default Contents

As version 4.1, the default contents of the FullPageOCR.cfg and TextOCR.cfg are as follows. These documents can be found in C:\GetSmart. By changing these two documents, you can effect how the Zonal Templates read document data.

PDFExportsParams

This object defines how PDFs are exported after undergoing TextPDF Creation.

Function

Description

Value

Function

Description

Value

PDFAComplianceMode

PDFs will be exported adhering to the defined standard.

PCM_None, PCM_Pdfa_1b, PCM_Pdf_1b

Colority

Defines if PDFs are exported as Color or Grayscale.

PCM_KeepColority, PCM_ForceToGrey

TextExport

PDFs will be exported adhering to the defined standard.

PEM_ImageOnText, PEM_ImageOnly, PEM_TextOnly



PagePreprocessingParams



Function

Description

Value

Function

Description

Value

CorrectOrientation

Attempt to auto rotate the image.

Boolean



PrepareImageMode



Function

Description

Value

Function

Description

Value

Rotation

Specifies the rotation angle to apply to the image during preparation.

RT_NoRotation, RT_Clockwise, RT_Counterclockwise, RT_Upsidedown

CorrectSkew

Tells the OCR engine to correct skew during image preparation.

Boolean

CorrectSkewMode

Specifies the mode of skew correction.

Do Not Alter

InvertImage

Tells the OCR engine to invert the colors of the prepared image.

Boolean

MirrorImage

Tells Square 9’s OCR engine to mirror the prepared image around its vertical axis.

EnhanceLocalContrast

Specifies whether the local contract of the image should be increased.

DiscardColorImage

tells the OCR engine to only leave the black-and-white planein the prepared image.

UseFastBinarization

The OCR engine will use algorithms for fast image binarization




PageAnalysisParams



Function

Description

Value

Function

Description

Value

ProhibitModelAnalysis

Typical variants of page layout will be gone through during page analysis and the best variant will be selected.

Boolean

DetectPictures

Pictures are detected as part of analysis.

DetectSeparators

Separators are detected during analysis.



ObjectsExtractionParams



Function

Description

Value

Function

Description

Value

FastObjectsExtraction

Extraction speed may increase but quality may deteriorate.

Boolean

RemoveTexture

Background noise is removed from the image used for recognition. The original image is not altered.


RecognizerParams

Function

Description

Function

Description

PerformRecognition

This is not present by default, but if set to false, OCR extraction will not be performed. This can be disabled in situations where you need to perform recognition (barcode) but not OCR.

 

RecognizerParams



Function

Description

Value

Function

Description

Value

FastMode

Data will be extracted more rapidly at the cost of accuracy.

Boolean

LowResolutionMode

This property is useful when recognizing faxes, small prints, images with low resolution or bad print quality.

BalancedMode

Data will be extracted more accurately but at the cost of speed.

OneLinePerBlock

The OCR engine will presume the text extracted contains no more than one string.

OneWordPerBlock

The OCR engine will presume the text extracted contains no more than one word.

CaseRecognitionMode

This value specifies the letter case during recognition

TextTypes

The value of TextTypes defines the style of the text to be extracted.

See TextType Value table

TextLanguages

Parameter for one or more languages in Abbyy. Helpful for accennted character recognition.(Ex. TextLanguage=English,French)

See Text Language Value table





DocumentStructureDetectionParams



Function

Description

Value

Function

Description

Value

ClassifySeparators

Additional properties of separators, such as their type is detected. GlobalSearch LAN does need this information and the value should be set to False

Boolean

DetectFootnotes

The footnotes are detected during document synthesis. GlobalSearch LAN does not require this and for quicker extraction, this value should be set to false

DetectTableOfContents

The TableOfContents are detected during document synthesis. GlobalSearch LAN does not require this and for quicker extraction, this value should be set to false.




Text Parameters

TextLanguage Value Table

Bulgarian

French

Portuguese(Brazillian)

Chinese simplified

German

Russian

Chinese traditional

Greek

Slovak

Czech

Hungarian

Spanish

Danish

Italian

Swedish

Dutch

Japanese

Turkish

English

Korean

Ukrainian

Estonian

Polish

Vietnamese



Text Type

Description

Value

Text Type

Description

Value

TT_Normal

Common typographic texts.

1

TT_Typewriter

Tells the OCR engine to presume the text was generated on typewriter.

2

TT_Matrix

This value tells the OCR engine to presume the text was generated on a Matrix Printer.

4

TT_Index

Corresponds to a special set of characters including only digits written in ZIPCode style.

8

TT_OCR_A

A special font designed for Optical Character Recognition. Largely used by banks, credit card companies or financial institutions

32

TT_OCR-B

This value corresponds to a special font designed for Optical Character Recognition.

64

TT_MICR_E138

This value corresponds to a special MICR barcode font (CMC-7).

128

TT_MICR_CMC7

This value tells the OCRengine to make the assumption that it is reading a special MICRfont(CMC-7).

256

TT_Gothic

This value tells the OCR engine to presume the text is printed of the Gothic Type. Only the “Fraktur” font is supported.

512

TT_Receipt

This value corresponds to a special font commonly used in thermal printed receipts.

1024

TextType Value Table

  • You can select multiple text types by adding the values together.

  • Both TextLanguage and TextType would be added to the RecongnizerParams




Square 9 Default OCR Settings & Tested High Performance Settings

In the event your TextOCR or FullPageOCR configuration files are lost or corrupted, you can construct a new one using the settings directly below. Additionally, Square 9 offers a Aggressive OCR set of parameters in the second code box below. This will increase processing time but also increase OCR accuracy. The third code box includes a "High Performance" setting that is an excellent compromise between speed and accuracy, at the expense of conversion in color. This set of parameters also excels at reading sub-optimal text, so if your text is coming in from a low quality source (Such as an old dotMatrix printer) these settings may be a good option. The second and third configs should not be used on burdened or slower servers. Modification to one configuration file should be done to all configuration files to maintain parity and consistency.

Original OCR Settings

[PDFExportParams] PDFAComplianceMode=PCM_Pdfa_1b TextExportMode=PEM_ImageOnText Colority=PCM_KeepColority [PagePreprocessingParams] CorrectOrientation = true [PrepareImageMode] CorrectSkew = false [PageAnalysisParams] ProhibitModelAnalysis=true [ObjectsExtractionParams] FastObjectsExtraction=true [RecognizerParams] FastMode=true [DocumentStructureDetectionParams] ClassifySeparators=false DetectFootnotes=false DetectTableOfContents=false

Aggressive OCR Settings (Square 9 Tested)


[PDFExportParams] PDFAComplianceMode=PCM_Pdfa_1b TextExportMode=PEM_ImageOnText Colority=PCM_KeepColority [PagePreprocessingParams] CorrectOrientation = true [PrepareImageMode] CorrectSkew = true [PageAnalysisParams] ProhibitModelAnalysis=false EnableTextExtractionMode=true [ObjectsExtractionParams] FastObjectsExtraction=false EnableAggressiveTextExtraction=true [RecognizerParams] FastMode=false [DocumentStructureDetectionParams] ClassifySeparators=false DetectFootnotes=false DetectTableOfContents=false

High Performance OCR Settings (Square 9 Tested)


[PDFExportParams] PDFAComplianceMode=PCM_Pdfa_1b TextExportMode=PEM_ImageOnText Colority=PCM_KeepColority [PagePreprocessingParams] CorrectOrientation = true [PrepareImageMode] CorrectSkew = true DiscardColorImage = true PhotoProcessingMode = PPM_TreatAsPhoto ImageCompression = IC_NoCompression [PageAnalysisParams] ProhibitModelAnalysis=false EnableTextExtractionMode=false DetectTables=false [ObjectsExtractionParams] FastObjectsExtraction=false DetectTextOnPictures=true EnableAggressiveTextExtraction=true DetectPorousText = true RemoveGarbage = true RemoveTexture = true [RecognizerParams] FastMode=false LowResolutionMode = true TextTypes = 487 [DocumentStructureDetectionParams] ClassifySeparators=false DetectFootnotes=false DetectTableOfContents=false



Configuring Full Page OCR PDF Export Format

In some cases you may have the need to define a new PDF standard for PDFs converted to text searchable to export as.  To do so, modify FullPageOCR.cfg and alter the setting "PDFAComplianceMode" under the "PDFExportParams" to one of the available values outlined below.



  • PCM_Pdfa_1a

  • PCM_Pdfa_1b

  • PCM_Pdfa_2a

  • PCM_Pdfa_2u

Note: By default, Square 9's OCR engine uses PDF/A Standard 1B.