AddMasterForm(FormRecognitionAttributes,FormPages,Stream) Method

Summary

Adds a new Master Form to this category on the local disk and in MasterForms.

Syntax
C#
VB
C++
  
Public Function AddMasterForm( _ 
   ByVal attributes As FormRecognitionAttributes, _ 
   ByVal fields As FormPages, _ 
   ByVal stream As Stream _ 
) As IMasterForm 
public: 
   IMasterForm^ AddMasterForm(  
   FormRecognitionAttributes^ attributes, 
   FormPages^ fields, 
   Stream^ stream 
)  

Parameters

attributes
Master Form recognition attributes.

fields
Master Form processing fields.

stream
A System.IO.Stream containing the name of the Master Form image data.

Return Value

Returns the created IMasterForm object.

Remarks

The source code for this interface implementation class is available at <Install Directory>\Examples\DotNet\CS\AutoMasterFormsRepository.

The attributes must be provided, if it is null the method will throw an exception.

The added Master Form will have the Leadtools.Forms.Recognition.FormRecognitionProperties.Name of the attributes.

The Master Form files will be stored in Path.

The Master Form attributes file will have the name of the Master Form DiskMasterForm.Name with ".bin" extension. The Master Form fields file will have the name of the Master Form DiskMasterForm.Name with ".xml" extension. The Master Form image stream file will have the name of the Master Form DiskMasterForm.Name with ".tif" extension.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms.Common; 
using Leadtools.Forms.Auto; 
using Leadtools.Ocr; 
using Leadtools.Forms.Recognition; 
using Leadtools.Forms.Processing; 
using Leadtools.Barcode; 
 
public void MasterFormGeneratioAndUpdateStream() 
{ 
   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.LEAD, false)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
      BarcodeEngine barcodeEngine = new BarcodeEngine(); 
 
      //create AutoForm Engine 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, AutoFormsRecognitionManager.Ocr | AutoFormsRecognitionManager.Default); 
 
      repository.Refresh(); 
 
      UpdateMastersStream(repository.RootCategory, autoEngine); 
   } 
} 
 
public void UpdateMastersStream(IMasterFormsCategory category, AutoFormsEngine autoEngine) 
{ 
   foreach (IMasterForm master in category.MasterForms) 
   { 
      RasterImage form = master.ReadForm(); 
      FormRecognitionAttributes attributes = autoEngine.GenerateMasterFormAttributes(form, "New" + master.Name, Guid.Empty, null, null); 
 
      DiskMasterForm diskMaster = master as DiskMasterForm; 
      FileStream fs = File.OpenRead(diskMaster.Path + ".tif"); 
      category.AddMasterForm(attributes, master.ReadFields(), fs); 
   } 
 
   foreach (IMasterFormsCategory childCategory in category.ChildCategories) 
   { 
      UpdateMastersStream(childCategory, autoEngine); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Forms.Common 
Imports Leadtools.Forms.Auto 
Imports Leadtools.Ocr 
Imports Leadtools.Forms.Recognition 
Imports Leadtools.Forms.Processing 
Imports Leadtools.Barcode 
 
Public Sub MasterFormGeneratioAndUpdateStream() 
 
   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.LEAD, False) 
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir) 
      Dim engineBarcode As BarcodeEngine = New BarcodeEngine() 
 
      'create AutoForm Engine 
      Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngine, engineBarcode, AutoFormsRecognitionManager.Ocr Or AutoFormsRecognitionManager.Default) 
 
      repository.Refresh() 
 
      UpdateMastersStream(repository.RootCategory, autoEngine) 
   End Using 
End Sub 
 
Private Sub UpdateMastersStream(ByVal category As IMasterFormsCategory, ByVal autoEngine As AutoFormsEngine) 
   For Each master As IMasterForm In category.MasterForms 
      Dim form As RasterImage = master.ReadForm() 
      Dim attributes As FormRecognitionAttributes = autoEngine.GenerateMasterFormAttributes(form, "New" & master.Name, Guid.Empty, Nothing, Nothing) 
 
      Dim diskMaster As DiskMasterForm = TryCast(master, DiskMasterForm) 
      Dim fs As FileStream = File.OpenRead(diskMaster.Path & ".tif") 
      category.AddMasterForm(attributes, master.ReadFields(), fs) 
   Next master 
 
   For Each childCategory As IMasterFormsCategory In category.ChildCategories 
      UpdateMastersStream(childCategory, autoEngine) 
   Next childCategory 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
   Public Const OcrLEADRuntimeDir As String = "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2019.9.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Forms.Auto Assembly