Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.7
|
Leadtools.Forms.Auto Namespace > AutoFormsEngine Class : GenerateMasterFormAttributes Method |
public FormRecognitionAttributes GenerateMasterFormAttributes( RasterImage image, string name, Guid id, FormRecognitionOptions formOptions, List<PageRecognitionOptions> pagesOptions )
'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
'Usage 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)
public: FormRecognitionAttributes^ GenerateMasterFormAttributes( RasterImage^ image, String^ name, Guid id, FormRecognitionOptions^ formOptions, List<PageRecognitionOptions^>^ pagesOptions )
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.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Forms Imports Leadtools.Forms.Auto Imports Leadtools.Forms.Ocr Imports Leadtools.Forms.Recognition Imports Leadtools.Forms.Processing Imports Leadtools.Barcode <TestMethod> Public Sub MasterFormGeneratioAndUpdate() 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.Advantage, False) ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir) 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 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 Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Forms.Auto; using Leadtools.Forms.Ocr; using Leadtools.Forms.Recognition; using Leadtools.Forms.Processing; using Leadtools.Barcode; [TestMethod] public void MasterFormGeneratioAndUpdate() { 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.Advantage, false)) { ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir); BarcodeEngine barcodeEngine = new BarcodeEngine(); //create AutoForm Engine AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, AutoFormsRecognitionManager.Ocr | AutoFormsRecognitionManager.Default); repository.Refresh(); UpdateMasters(repository.RootCategory, autoEngine); } } 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); } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"; }