LEADTOOLS Forms (Leadtools.Forms.Auto assembly)

AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine,AutoFormsRecognitionManager,Int32,Int32,Boolean)

Show in webframe
Example 





Repository of the Master Forms.
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
The Object Managers to be used to recognize forms and generate Master Forms attributes in GenerateMasterFormAttributes.
The minimum confidence value to decide that the Form type result is a known type. It ranges from 0 to 100 and usually it is less than minimumConfidenceRecognized.
The minimum confidence value to decide that the Form type is recognized and no further comparison with Master Forms is needed. It ranges from 0 to 100 and usually it is greater than minimumConfidenceKnownForm.
Recognize the form based on the first page only.
Initializes a new AutoFormsEngine class object that uses multi-threads to perform AutoFormsEngine functionalities such as recognition and processing.
Syntax
'Declaration
 
Public Function New( _
   ByVal repository As IMasterFormsRepository, _
   ByVal ocrEngines As List(Of IOcrEngine), _
   ByVal barcodeEngine As BarcodeEngine, _
   ByVal managers As AutoFormsRecognitionManager, _
   ByVal minimumConfidenceKnownForm As Integer, _
   ByVal minimumConfidenceRecognized As Integer, _
   ByVal recognizeFirstPageOnly As Boolean _
)
'Usage
 
Dim repository As IMasterFormsRepository
Dim ocrEngines As List(Of IOcrEngine)
Dim barcodeEngine As BarcodeEngine
Dim managers As AutoFormsRecognitionManager
Dim minimumConfidenceKnownForm As Integer
Dim minimumConfidenceRecognized As Integer
Dim recognizeFirstPageOnly As Boolean
 
Dim instance As New AutoFormsEngine(repository, ocrEngines, barcodeEngine, managers, minimumConfidenceKnownForm, minimumConfidenceRecognized, recognizeFirstPageOnly)

            

            

Parameters

repository
Repository of the Master Forms.
ocrEngines
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
barcodeEngine
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
managers
The Object Managers to be used to recognize forms and generate Master Forms attributes in GenerateMasterFormAttributes.
minimumConfidenceKnownForm
The minimum confidence value to decide that the Form type result is a known type. It ranges from 0 to 100 and usually it is less than minimumConfidenceRecognized.
minimumConfidenceRecognized
The minimum confidence value to decide that the Form type is recognized and no further comparison with Master Forms is needed. It ranges from 0 to 100 and usually it is greater than minimumConfidenceKnownForm.
recognizeFirstPageOnly
Recognize the form based on the first page only.
Remarks

It is the user's responsibility to dispose of this object when it is no longer needed by calling Dispose.

ocrEngines should be provided. If it is null, an exception is thrown.

If barcodeEngine is null, Leadtools.Forms.Recognition.Barcode.BarcodeObjectsManager will not be used for recognition and Leadtools.Forms.Processing.BarcodeFormField will not be processed.

Multi-threading is recommended since it speeds up form recognition and processing.

To implement your own multiple thread or to not use threads use AutoFormsEngine(IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine, AutoFormsRecognitionManager managers, int minimumConfidenceKnownForm, int minimumConfidenceRecognized, bool recognizeFirstPageOnly).

Important: Different OCR engines might have slight differences in form alignment and recognition. Therefore, it is recommended to use the same Leadtools.Forms.Ocr.OcrEngineType when generating the master forms and when recognizing and processing forms.

Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Forms.Auto
Imports Leadtools.Forms.Ocr
Imports Leadtools.Forms.Recognition
Imports Leadtools.Forms.Processing
Imports Leadtools.Barcode

Public Sub AutoFormRunThreadManagersAll()
   Dim filesNames As List(Of String) = New List(Of String)()
   filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif"))

   Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\MasterForm Sets\OCR_ICR")
   Dim codecs As RasterCodecs = New RasterCodecs()
   'create repository
   Dim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs, root)
   Dim ocrEngines As List(Of IOcrEngine) = New List(Of IOcrEngine)()
   Dim ocrEngine As IOcrEngine
   'creates four threads
   For i As Integer = 0 To 3
      ' True to use the LEADTOOLS Thunk Server if the engine is not Advantage
      ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, True)
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)
      ocrEngines.Add(ocrEngine)
   Next i

   Dim engineBarcode As BarcodeEngine = New BarcodeEngine()
   'create AutoForm Engine
   Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngines, engineBarcode, AutoFormsRecognitionManager.Ocr, 30, 80, True)

   Try
      For Each formFileName As String In filesNames
         'recognize and process the form
         Dim result As AutoFormsRunResult = autoEngine.Run(formFileName, Nothing)
      Next formFileName
   Finally
      autoEngine.Dispose()
      For Each engine As IOcrEngine In ocrEngines
         engine.Shutdown()
         engine.Dispose()
      Next engine
      ocrEngines.Clear()
   End Try
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 18\Bin\Common\OcrAdvantageRuntime"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Forms.Auto;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;

public void AutoFormRunThreadManagersAll()
{
   List<string> filesNames = new List<string>();
   filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\\Images\\FCC-107_OCR_Filled.tif"));

   string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\MasterForm Sets\OCR_ICR");
   RasterCodecs codecs = new RasterCodecs();
   //create repository
   DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
   List<IOcrEngine> ocrEngines = new List<IOcrEngine>();
   IOcrEngine ocrEngine;
   //creates four threads
   for (int i = 0; i < 4; i++)
   {
      // last parameter true to use the LEADTOOLS Thunk Server
      // if the engine is not Advantage
      ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, true);
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);
      ocrEngines.Add(ocrEngine);
   }

   BarcodeEngine barcodeEngine = new BarcodeEngine();
   //create AutoForm Engine
   AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngines, barcodeEngine, AutoFormsRecognitionManager.Ocr, 30, 80, true);

   try
   {
      foreach (string formFileName in filesNames)
      {
         //recognize and process the form
         AutoFormsRunResult result = autoEngine.Run(formFileName, null);
      }
   }
   finally
   {
      autoEngine.Dispose();
      foreach (IOcrEngine engine in ocrEngines)
      {
         engine.Shutdown();
         engine.Dispose();
      }
      ocrEngines.Clear();
   }
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 18\Bin\Common\OcrAdvantageRuntime";
}
Requirements

Target Platforms

See Also

Reference

AutoFormsEngine Class
AutoFormsEngine Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Forms requires a Forms Module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features