←Select platform

AutoFormsEngine Constructor(IMasterFormsRepository,IOcrEngine,BarcodeEngine,int,int,bool)

Summary
Initializes a new AutoFormsEngine class object.

Syntax
C#
C++/CLI
Java
Python
public AutoFormsEngine( 
   IMasterFormsRepository,  
   OcrEngine,  
   BarcodeEngine,  
   int,  
   int,  
   boolean 
); 

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.

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

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.

Important: Different OCR engines might have slight differences in form alignment and recognition. Therefore, it is best 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; 
 
 
public void MyProgressEvent(object sender, AutoFormsProgressEventArgs e) 
{ 
   Console.WriteLine("Operation: {0}  {1}%", e.Operation, e.Percentage); 
} 
public void AutoFormRecognitionAndProcessing1() 
{ 
   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(); 
 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, 30, 80, true); 
      autoEngine.Progress += MyProgressEvent; 
 
      //Load the first page of the for, 
      RasterImage form = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"), 
                                     1, CodecsLoadByteOrder.Bgr, 1, 1); 
      //recognize the form 
      AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(form, null); 
      if (result == null) 
         return; 
      //check if we have all pages 
      if (form.PageCount != result.Properties.Pages) 
      {//load the remaining pages of the form 
         form.AddPages(codecs.Load(FormFileName, 1, CodecsLoadByteOrder.Bgr, 2, -1), 1, -1); 
      } 
      //get form fields 
      FormPages formFields = result.MasterForm.ReadFields(); 
      FormRecognitionAttributes attributes = result.MasterForm.ReadAttributes(); 
      //process form 
      autoEngine.ProcessForm(form, null, null, attributes, formFields); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 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.