public IMasterForm AddMasterForm(
FormRecognitionAttributes attributes,
FormPages fields,
Stream stream
)
attributes
Master Form recognition attributes.
fields
Master Form processing fields.
stream
A System.IO.Stream containing the name of the Master Form image data.
Returns the created IMasterForm object.
The source code for this interface implementation class is available at <INSTALLDIR>\Examples\Forms\DotNet\AutoMasterFormsRepository
.
The 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 image stream file will have the name of the Master Form DiskMasterForm.Name with ".tif" extension.
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 MasterFormGeneratioAndUpdateStream()
{
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();
UpdateMastersStream(repository.RootCategory, autoEngine);
}
}
public void UpdateMastersStream(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);
DiskMasterForm diskMaster = master as DiskMasterForm;
FileStream fs = File.OpenRead(diskMaster.Path + ".tif");
category.AddMasterForm(attributes, master.ReadFields(), fs);
}
foreach (IMasterFormsCategory childCategory in category.ChildCategories)
{
UpdateMastersStream(childCategory, autoEngine);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}