Generate master Form attributes based on the Object Managers set when this
AutoFormsEngine object is constructed.
Syntax
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 Basic | Copy 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()
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()
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
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also