public IMasterForm AddMasterForm(
FormRecognitionAttributes attributes,
FormPages fields,
RasterImage form
)
attributes
Master Form recognition attributes.
fields
Master Form processing fields.
form
Master Form image.
Returns the created IMasterForm object.
The source code for this interface implementation class is available at <INSTALLDIR>\Examples\Forms\DotNet\AutoMasterFormsRepository
. attributes must be provided, if it is null the method will throw an exception.
The added Master Form will have the Leadtools.Forms.Recognition.FormRecognitionProperties.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 form file will have the name of the Master Form DiskMasterForm.Name with ".tif" extension. form is stored as a 1-bit black and white tif image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Forms.Auto;
using Leadtools.Document;
using Leadtools.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;
using Leadtools.Forms;
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))
{
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:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}