Generate master Form attributes based on the Object Managers set when this AutoFormsEngine object is constructed.
Syntax
public FormRecognitionAttributes GenerateMasterFormAttributes(
RasterImage image,
string name,
Guid id,
FormRecognitionOptions formOptions,
List<PageRecognitionOptions> pagesOptions
)
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
public FormRecognitionAttributes generateMasterFormAttributes(
RasterImage,
java.lang.String,
java.util.UUID,
FormRecognitionOptions,
java.util.List<PageRecognitionOptions>
);
public:
FormRecognitionAttributes^ GenerateMasterFormAttributes(
RasterImage^ image,
String^ name,
Guid id,
FormRecognitionOptions^ formOptions,
List<PageRecognitionOptions^>^ pagesOptions
)
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 Leadtools.Forms.Recognition.PageRecognitionOptions for all form pages.
Returns the Master Forms attributes if the set Object Managers are able to extract its features, otherwise it returns null.
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.
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 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.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();
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 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 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.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()
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 OcrLEADRuntimeDir As String = "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document