public void ProcessForm(RasterImage form,PageRequestCallback pageRequestCallback,object userData,FormRecognitionAttributes masterAttributes,FormPages formFields)
Public Overloads Sub ProcessForm( _ByVal form As RasterImage, _ByVal pageRequestCallback As PageRequestCallback, _ByVal userData As Object, _ByVal masterAttributes As FormRecognitionAttributes, _ByVal formFields As FormPages _)
public void processForm(RasterImage,PageRequestCallback,java.lang.Object,FormRecognitionAttributes,FormPages);
public:void ProcessForm(RasterImage^ form,PageRequestCallback^ pageRequestCallback,Object^ userData,FormRecognitionAttributes^ masterAttributes,FormPages^ formFields)
form
The recognized Form image.
pageRequestCallback
Page request callback if more form images are needed.
userData
The user defined data that is associated with PageRequestCallback.
masterAttributes
The Master Form attributes of the form type.
formFields
The fields to be processed for the Master Form of the form type.
If form does not have all form page images, during the processing if more pages are required for processing this method will ask for the required pages one page at a time using the pageRequestCallback. The PageRequestCallbackData.FormPageNumber will have the number of the needed page, and the user returns the requested page image through PageRequestCallbackData.Page.
If form has all form pages you can set pageRequestCallback to null.
This method is useful because it allows you to do the form processing later on or on another machine without the need to recreate the recognition result object
The form alignment is calculated from the recognition results.
using Leadtools;using Leadtools.Codecs;using Leadtools.Forms.Common;using Leadtools.Forms.Auto;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 repositoryDiskMasterFormsRepository 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 formAutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(form, null);if (result == null)return;//check if we have all pagesif (form.PageCount != result.Properties.Pages){//load the remaining pages of the formform.AddPages(codecs.Load(FormFileName, 1, CodecsLoadByteOrder.Bgr, 2, -1), 1, -1);}//get form fieldsFormPages formFields = result.MasterForm.ReadFields();FormRecognitionAttributes attributes = result.MasterForm.ReadAttributes();//process formautoEngine.ProcessForm(form, null, null, attributes, formFields);}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS21\Bin\Common\OcrLEADRuntime";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.Forms.CommonImports Leadtools.Forms.AutoImports Leadtools.OcrImports Leadtools.Forms.RecognitionImports Leadtools.Forms.ProcessingImports Leadtools.BarcodePrivate Sub MyProgressEvent(ByVal sender As Object, ByVal e As AutoFormsProgressEventArgs)Console.WriteLine("Operation {0} {1}%)", e.Operation, e.Percentage)End SubPublic Sub AutoFormRecognitionAndProcessing1()Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\FormsDemo\OCR_Test")Dim codecs_Renamed As RasterCodecs = New RasterCodecs()'create repositoryDim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs_Renamed, root)Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir)Dim engineBarcode As BarcodeEngine = New BarcodeEngine()Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngine, engineBarcode, 30, 80, True)AddHandler autoEngine.Progress, AddressOf MyProgressEvent'Load the first page of the for,Dim form As RasterImage = codecs_Renamed.Load(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif"),1, CodecsLoadByteOrder.Bgr, 1, 1)'recognize the formDim result As AutoFormsRecognizeFormResult = autoEngine.RecognizeForm(form, Nothing)If result Is Nothing ThenReturnEnd If'check if we have all pagesIf form.PageCount <> result.Properties.Pages Thenform.AddPages(codecs_Renamed.Load(FormFileName, 1, CodecsLoadByteOrder.Bgr, 2, -1), 1, -1)End If'get form fieldsDim formFields As FormPages = result.MasterForm.ReadFields()Dim attributes As FormRecognitionAttributes = result.MasterForm.ReadAttributes()'process formautoEngine.ProcessForm(form, Nothing, Nothing, attributes, formFields)End UsingEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"Public Const OcrLEADRuntimeDir As String = "C:\LEADTOOLS21\Bin\Common\OcrLEADRuntime"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
