Leadtools.Forms.Auto Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
ProcessForm(RasterImage,PageRequestCallback,Object,AutoFormsRecognizeFormResult) Method
See Also  Example
Leadtools.Forms.Auto Namespace > AutoFormsEngine Class > ProcessForm Method : ProcessForm(RasterImage,PageRequestCallback,Object,AutoFormsRecognizeFormResult) Method



form
The recognized Form image.
pageRequestCallback
Page request callback if more form images are needed.
userData
The user defined data that is associated with __Delegates.PageRequestCallback.
formResult
The form recognition result that has been returned by RecognizeForm.
form
The recognized Form image.
pageRequestCallback
Page request callback if more form images are needed.
userData
The user defined data that is associated with __Delegates.PageRequestCallback.
formResult
The form recognition result that has been returned by RecognizeForm.
Performs field processing on the recognized form image.

Syntax

Visual Basic (Declaration) 
Overloads Public Function ProcessForm( _
   ByVal form As RasterImage, _
   ByVal pageRequestCallback As PageRequestCallback, _
   ByVal userData As Object, _
   ByVal formResult As AutoFormsRecognizeFormResult _
) As FormPages
Visual Basic (Usage)Copy Code
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)

Parameters

form
The recognized Form image.
pageRequestCallback
Page request callback if more form images are needed.
userData
The user defined data that is associated with __Delegates.PageRequestCallback.
formResult
The form recognition result that has been returned by RecognizeForm.

Return Value

The processed fields if the Master Form has fields, otherwise it returns null.

Example

Visual BasicCopy Code
Public Sub AutoFormRecognitionAndProcessing2()
   RasterCodecs.Startup()
   Dim root As String = LeadtoolsExamples.Common.ImagesPath.Path + "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.Plus, False)
      ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing)

      BarcodeEngine.Startup(BarcodeMajorTypeFlags.Barcodes1d Or BarcodeMajorTypeFlags.Barcodes2dRead Or BarcodeMajorTypeFlags.BarcodesDatamatrixRead Or BarcodeMajorTypeFlags.BarcodesPdfRead Or BarcodeMajorTypeFlags.BarcodesQrRead)
      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(LeadtoolsExamples.Common.ImagesPath.Path + "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
   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void AutoFormRecognitionAndProcessing2() 

   RasterCodecs.Startup(); 
 
   string root = LeadtoolsExamples.Common.ImagesPath.Path +@"Forms\FormsDemo\OCR_Test"; 
   RasterCodecs codecs = new RasterCodecs(); 
 
   DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root); 
 
   using(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, false)) 
   { 
      ocrEngine.Startup(null, null, null, null); 
 
      BarcodeEngine.Startup(BarcodeMajorTypeFlags.Barcodes1d | BarcodeMajorTypeFlags.Barcodes2dRead | BarcodeMajorTypeFlags.BarcodesDatamatrixRead | BarcodeMajorTypeFlags.BarcodesPdfRead | BarcodeMajorTypeFlags.BarcodesQrRead); 
      BarcodeEngine barcodeEngine = new BarcodeEngine(); 
 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine); 
      autoEngine.MinimumConfidenceRecognized = 80; 
 
      //load all form pages 
      RasterImage form = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path +@"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); 
   } 
   RasterCodecs.Shutdown(); 
}

Remarks

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.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

Leadtools.Forms requires a Forms Module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features