Leadtools.Forms.Auto Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
GenerateMasterFormAttributes Method
See Also  Example
Leadtools.Forms.Auto Namespace > AutoFormsEngine Class : GenerateMasterFormAttributes Method



image
Master form image, it must have all master form page images.
name
The Master Form name.
id
The Master Form ID.
formOptions
Specifies the options for the Master Form.
pagesOptions
List of PageRecognitionOptions for all form pages.
image
Master form image, it must have all master form page images.
name
The Master Form name.
id
The Master Form ID.
formOptions
Specifies the options for the Master Form.
pagesOptions
List of PageRecognitionOptions for all form pages.
Generate master Form attributes based on the Object Managers set when this AutoFormsEngine object is constructed.

Syntax

Visual Basic (Declaration) 
Public Function GenerateMasterFormAttributes( _
   ByVal image As RasterImage, _
   ByVal name As String, _
   ByVal id As Guid, _
   ByVal formOptions As FormRecognitionOptions, _
   ByVal pagesOptions As List(Of PageRecognitionOptions) _
) As FormRecognitionAttributes
Visual Basic (Usage)Copy Code
Dim instance As AutoFormsEngine
Dim image As RasterImage
Dim name As String
Dim id As Guid
Dim formOptions As FormRecognitionOptions
Dim pagesOptions As List(Of PageRecognitionOptions)
Dim value As FormRecognitionAttributes
 
value = instance.GenerateMasterFormAttributes(image, name, id, formOptions, pagesOptions)
C# 
public FormRecognitionAttributes GenerateMasterFormAttributes( 
   RasterImage image,
   string name,
   Guid id,
   FormRecognitionOptions formOptions,
   List<PageRecognitionOptions> pagesOptions
)
C++/CLI 
public:
FormRecognitionAttributes GenerateMasterFormAttributes( 
   RasterImage image,
   String^ name,
   Guid id,
   FormRecognitionOptions formOptions,
   List<PageRecognitionOptions>^ pagesOptions
) 

Parameters

image
Master form image, it must have all master form page images.
name
The Master Form name.
id
The Master Form ID.
formOptions
Specifies the options for the Master Form.
pagesOptions
List of PageRecognitionOptions for all form pages.

Return Value

Returns the Master Forms attributes if the set Object Managers are able to extract its features, otherwise it returns null.

Example

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

      UpdateMasters(repository.RootCategory, autoEngine)
   End Using
   RasterCodecs.Shutdown()
End Sub

Private Sub UpdateMasters(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)
      category.DeleteMasterForm(master)
      category.AddMasterForm(attributes, master.ReadFields(), form)
   Next master

   For Each childCategory As IMasterFormsCategory In category.ChildCategories
      UpdateMasters(childCategory, autoEngine)
   Next childCategory
End Sub
C#Copy Code
public void MasterFormGeneratioAndUpdate() 

   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(); 
 
      UpdateMasters(repository.RootCategory, autoEngine); 
   } 
   RasterCodecs.Shutdown(); 

 
public void UpdateMasters(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); 
      category.DeleteMasterForm(master); 
      category.AddMasterForm(attributes, master.ReadFields(), form); 
   } 
 
   foreach(IMasterFormsCategory childCategory in category.ChildCategories) 
   { 
      UpdateMasters(childCategory, autoEngine); 
   } 
}

Remarks

This method is used to create form attributes to the Master Forms (unfilled form). The attributes that are generated using this method cannot be used as a Form attributes.

It returns null if the Object Managers that are set in the constructor are not suitable for this form, i.e. the Master Form does not have any features of the set Object Managers. Try using another Object Manager in order to detect the Master Form features.

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