Leadtools.Forms.Auto Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
AddMasterForm(FormRecognitionAttributes,FormPages,Stream) Method
See Also  Example
Leadtools.Forms.Auto Namespace > DiskMasterFormsCategory Class > AddMasterForm Method : AddMasterForm(FormRecognitionAttributes,FormPages,Stream) Method



attributes
Master Form recognition attributes.
fields
Master Form processing fields.
stream
A Stream containing the name of the Master Form image data.
attributes
Master Form recognition attributes.
fields
Master Form processing fields.
stream
A Stream containing the name of the Master Form image data.
Adds a new Master Form to this category on the local disk and in DiskMasterFormsCategory.MasterForms.

Syntax

Visual Basic (Declaration) 
Overloads Public Overridable Function AddMasterForm( _
   ByVal attributes As FormRecognitionAttributes, _
   ByVal fields As FormPages, _
   ByVal stream As Stream _
) As IMasterForm
Visual Basic (Usage)Copy Code
Dim instance As DiskMasterFormsCategory
Dim attributes As FormRecognitionAttributes
Dim fields As FormPages
Dim stream As Stream
Dim value As IMasterForm
 
value = instance.AddMasterForm(attributes, fields, stream)
C# 
public virtual IMasterForm AddMasterForm( 
   FormRecognitionAttributes attributes,
   FormPages fields,
   Stream stream
)
C++/CLI 
public:
virtual IMasterForm^ AddMasterForm( 
   FormRecognitionAttributes attributes,
   FormPages fields,
   Stream^ stream
) 

Parameters

attributes
Master Form recognition attributes.
fields
Master Form processing fields.
stream
A Stream containing the name of the Master Form image data.

Return Value

Returns the created IMasterForm object.

Example

Visual BasicCopy Code
Public Sub MasterFormGeneratioAndUpdateStream()
   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()

      '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
   RasterCodecs.Shutdown()
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
C#Copy Code
public void MasterFormGeneratioAndUpdateStream() 

   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(); 
 
      //create AutoForm Engine 
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, AutoFormsRecognitionManager.Ocr | AutoFormsRecognitionManager.Default); 
 
      repository.Refresh(); 
 
      UpdateMastersStream(repository.RootCategory, autoEngine); 
   } 
   RasterCodecs.Shutdown(); 

 
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); 
   } 
}

Remarks

The source code of 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 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.

The form is stored as a 1-bit black and white tif image.

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