←Select platform

ProcessForm(RasterImage,PageRequestCallback,Object,AutoFormsRecognizeFormResult) Method

Summary

Performs field processing on the recognized form image.

Syntax

C#
VB
C++
Public Overloads Function ProcessForm( _ 
   ByVal form As Leadtools.RasterImage, _ 
   ByVal pageRequestCallback As Leadtools.Forms.Auto.PageRequestCallback, _ 
   ByVal userData As Object, _ 
   ByVal formResult As Leadtools.Forms.Auto.AutoFormsRecognizeFormResult _ 
) As Leadtools.Forms.Processing.FormPages 

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 PageRequestCallback.

formResult
The form recognition result that has been returned by RecognizeForm(RasterImage,List<IMasterFormsCategory>).

Return Value

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

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.

Example

C#
VB
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 
 
<TestMethod> 
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 19\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 19\Bin\Common\OcrAdvantageRuntime"; 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Forms.Auto Assembly
Click or drag to resize