←Select platform

ProcessForm(Stream,FormRecognitionAttributes,FormPages) Method

Summary

Performs field processing on the recognized form image.

Syntax

C#
VB
C++
  
Public Overloads Sub ProcessForm( _ 
   ByVal stream As Stream, _ 
   ByVal masterAttributes As Leadtools.Forms.Recognition.FormRecognitionAttributes, _ 
   ByVal formFields As Leadtools.Forms.Processing.FormPages _ 
)  

Parameters

stream
A System.IO.Stream containing 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.

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.

Example

C#
VB
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 AutoFormRecognitionAndProcessing1Stream() 
{ 
   string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test"); 
   RasterCodecs codecs = new RasterCodecs(); 
   //create repository 
   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, 30, 80, true); 
 
      FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, @"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); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
   public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"; 
} 
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 AutoFormRecognitionAndProcessing1Stream() 
 
   Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "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.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, 30, 80, True) 
 
      Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "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 
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 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Forms.Auto Assembly