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(Stream,FormRecognitionAttributes,FormPages) Method
See Also  Example
Leadtools.Forms.Auto Namespace > AutoFormsEngine Class > ProcessForm Method : ProcessForm(Stream,FormRecognitionAttributes,FormPages) Method



stream
A Stream containing the the unknown form image data.
masterAttributes
The Master Form attributes of the form type.
formFields
The fields to be processed for the Master Form of the form type.
stream
A Stream containing the the unknown form image data.
masterAttributes
The Master Form attributes of the form type.
formFields
The fields to be processed for the Master Form of the form type.
Performs field processing on the recognized form image.

Syntax

Visual Basic (Declaration) 
Overloads Public Sub ProcessForm( _
   ByVal stream As Stream, _
   ByVal masterAttributes As FormRecognitionAttributes, _
   ByVal formFields As FormPages _
) 
Visual Basic (Usage)Copy Code
Dim instance As AutoFormsEngine
Dim stream As Stream
Dim masterAttributes As FormRecognitionAttributes
Dim formFields As FormPages
 
instance.ProcessForm(stream, masterAttributes, formFields)
C# 
public void ProcessForm( 
   Stream stream,
   FormRecognitionAttributes masterAttributes,
   FormPages formFields
)
C++/CLI 
public:
void ProcessForm( 
   Stream^ stream,
   FormRecognitionAttributes masterAttributes,
   FormPages formFields
) 

Parameters

stream
A Stream containing the the unknown form image data.
masterAttributes
The Master Form attributes of the form type.
formFields
The fields to be processed for the Master Form of the form type.

Example

Visual BasicCopy Code
Public Sub AutoFormRecognitionAndProcessing1Stream()
   RasterCodecs.Startup()
   Dim root As String = LeadtoolsExamples.Common.ImagesPath.Path + "Forms\FormsDemo\OCR_Test"

   Dim codecs_Renamed As RasterCodecs = New RasterCodecs()
   'create repository
   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, 30, 80, True)

      Dim fs As FileStream = File.OpenRead(LeadtoolsExamples.Common.ImagesPath.Path + "Forms\Images\FCC-107_OCR_Filled.tif")


      'recognize the form
      Dim result As AutoFormsRecognizeFormResult = autoEngine.RecognizeForm(fs, Nothing)
      If result Is Nothing Then
         Return
      End If
      'get form fields
      Dim formFields As FormPages = result.MasterForm.ReadFields()
      Dim attributes As FormRecognitionAttributes = result.MasterForm.ReadAttributes()
      'process form
      autoEngine.ProcessForm(fs, attributes, formFields)
   End Using
   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void AutoFormRecognitionAndProcessing1Stream() 

   RasterCodecs.Startup(); 
 
   string root = LeadtoolsExamples.Common.ImagesPath.Path +@"Forms\FormsDemo\OCR_Test"; 
   RasterCodecs codecs = new RasterCodecs(); 
   //create repository 
   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, 30, 80, true); 
 
      FileStream fs = File.OpenRead(LeadtoolsExamples.Common.ImagesPath.Path +@"Forms\Images\FCC-107_OCR_Filled.tif");  
 
 
      //recognize the form 
      AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(fs, null); 
      if(result == null) 
         return; 
      //get form fields 
      FormPages formFields = result.MasterForm.ReadFields(); 
      FormRecognitionAttributes attributes = result.MasterForm.ReadAttributes(); 
      //process form 
      autoEngine.ProcessForm(fs, attributes, formFields); 
   } 
   RasterCodecs.Shutdown(); 
}

Remarks

This method processes the recognized form fields. The Master Form fields are obtained by calling IMasterForm.ReadFields of the AutoFormsRecognizeFormResult.MasterForm.

The stream should have all form pages.

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 internally, so providing the recognition results will speed the alignment calculation process.

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