Leadtools.Forms.Auto Namespace > AutoFormsEngine Class > ProcessForm Method : ProcessForm(RasterImage,PageRequestCallback,Object,AutoFormsRecognizeFormResult) Method |
public FormPages ProcessForm( RasterImage form, PageRequestCallback pageRequestCallback, object userData, AutoFormsRecognizeFormResult formResult )
'Declaration Public Overloads Function ProcessForm( _ ByVal form As RasterImage, _ ByVal pageRequestCallback As PageRequestCallback, _ ByVal userData As Object, _ ByVal formResult As AutoFormsRecognizeFormResult _ ) As FormPages
'Usage Dim instance As AutoFormsEngine Dim form As RasterImage Dim pageRequestCallback As PageRequestCallback Dim userData As Object Dim formResult As AutoFormsRecognizeFormResult Dim value As FormPages value = instance.ProcessForm(form, pageRequestCallback, userData, formResult)
public: FormPages^ ProcessForm( RasterImage^ form, PageRequestCallback^ pageRequestCallback, Object^ userData, AutoFormsRecognizeFormResult^ formResult )
This method processes the recognized form fields. The Master Form fields are obtained by calling IMasterForm.ReadFields of the AutoFormsRecognizeFormResult.MasterForm.
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 required page, and the user returns the requested page image through PageRequestCallbackData.Page.
If form has all form pages you can set pageRequestCallback to null.
The form alignment is calculated from the recognition results.
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 AutoFormRecognitionAndProcessing2() Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\FormsDemo\OCR_Test") Dim codecs_Renamed As RasterCodecs = New RasterCodecs() Dim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs_Renamed, root) Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False) ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir) Dim engineBarcode As BarcodeEngine = New BarcodeEngine() Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngine, engineBarcode) autoEngine.MinimumConfidenceRecognized = 80 'load all form pages Dim form As RasterImage = codecs_Renamed.Load(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif"), 1, CodecsLoadByteOrder.Bgr, 1, -1) Dim result As AutoFormsRecognizeFormResult = autoEngine.RecognizeForm(form, Nothing) If result Is Nothing Then Return End If Dim formFields As FormPages = autoEngine.ProcessForm(form, Nothing, Nothing, result) End Using 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 AutoFormRecognitionAndProcessing2() { string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test"); RasterCodecs codecs = new RasterCodecs(); DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root); using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false)) { ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir); BarcodeEngine barcodeEngine = new BarcodeEngine(); AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine); autoEngine.MinimumConfidenceRecognized = 80; //load all form pages RasterImage form = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Images\FCC-107_OCR_Filled.tif"), 1, CodecsLoadByteOrder.Bgr, 1, -1); AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(form, null); if (result == null) return; FormPages formFields = autoEngine.ProcessForm(form, null, null, result); } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 18\Bin\Common\OcrAdvantageRuntime"; }