←Select platform

AutoFormsEngine Constructor(IMasterFormsRepository,IOcrEngine,BarcodeEngine,AutoFormsRecognitionManager)

Summary
Initializes a new AutoFormsEngine class object.

Syntax
C#
C++/CLI
Python
__init__(self,repository,ocrEngine,barcodeEngine,managers) # Overloaded constructor 

Parameters

repository
Repository of Master Forms.

ocrEngine
The Leadtools.Ocr.IOcrEngine that is used for optical character recognition and processing.

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.

Remarks

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

If  ocrEngine is null, Leadtools.Forms.Recognition.Ocr.OcrObjectsManager will not be used for recognition and Leadtools.Forms.Processing.TextFormField and Leadtools.Forms.Processing.OmrFormField will not be processed.

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

The MinimumConfidenceRecognized is set to 90, MinimumConfidenceKnownForm is set to 30, and RecognizeFirstPageOnly is set to false.

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

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms.Common; 
using Leadtools.Forms.Auto; 
using Leadtools.Document; 
using Leadtools.Ocr; 
using Leadtools.Forms.Recognition; 
using Leadtools.Forms.Processing; 
using Leadtools.Barcode; 
 
using Leadtools.Forms; 
 
public void MasterFormGeneratioAndUpdate() 
{ 
   string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test"); 
   RasterCodecs codecs = new RasterCodecs(); 
   //create repository 
   DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root); 
 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
      BarcodeEngine barcodeEngine = new BarcodeEngine(); 
 
      //create AutoForm Engine 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, AutoFormsRecognitionManager.Ocr | AutoFormsRecognitionManager.Default); 
 
      repository.Refresh(); 
 
      UpdateMasters(repository.RootCategory, autoEngine); 
   } 
} 
 
public void UpdateMasters(IMasterFormsCategory category, AutoFormsEngine autoEngine) 
{ 
   foreach (IMasterForm master in category.MasterForms) 
   { 
      RasterImage form = master.ReadForm(); 
      FormRecognitionAttributes attributes = autoEngine.GenerateMasterFormAttributes(form, "New" + master.Name, Guid.Empty, null, null); 
      category.DeleteMasterForm(master); 
      category.AddMasterForm(attributes, master.ReadFields(), form); 
   } 
 
   foreach (IMasterFormsCategory childCategory in category.ChildCategories) 
   { 
      UpdateMasters(childCategory, autoEngine); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Forms.Auto Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.