public class AutoFormsProgressEventArgs : EventArgs
This event is fired when recognizing and processing a form, or when generating form attributes. The Percentage Property is not meaningful during recognition operations since the engine does not necessarily need to compare the filled form with each master form in the repository. Once the engine finds a match, it will stop searching and return.
This event also allows the user to cancel engine operations using the Cancel property
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";
}