public void DeleteMasterForm(
IMasterForm masterForm
)
masterForm
The Master Form object to be deleted.
The source code for this interface implementation class is available at <INSTALLDIR>\Examples\Forms\DotNet\AutoMasterFormsRepository
.
The masterForm file will be deleted and cannot be restored. If the user want to do different action he can inherit this class and override this method or he can do his own implementation of IMasterFormsCategory. Be advised to have a back up copy of all Master Forms if this used this class, in case you have deleted the wrong Master Form.
There is no need to call DiskMasterFormsRepository.Refresh since the repository that this Master Form belongs will be updated with this deletion.
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;
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:\LEADTOOLS22\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";
}