The ProcessForm(Stream,FormRecognitionAttributes,FormPages) Method is available as an add-on to the LEADTOOLS Document and Medical Imaging toolkits.
- stream
- A System.IO.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.
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 System.IO.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.
Visual Basic | Copy Code |
---|---|
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.Plus, False) ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing) 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" End Class |
C# | Copy Code |
---|---|
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.Plus, false)) { ocrEngine.Startup(null, null, null, null); 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"; } |
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.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7