Attributes:
- Create and Initialize the Form Recognition Engine using the Forms Recognition Engine.
FormRecognitionEngine RecognitionEngine = new FormRecognitionEngine();
- Create and add the desired Object managers using the RecognitionObjectsManager.
RasterCodecs.Startup(); RasterCodecs FormsCodec = new RasterCodecs(); DocumentWriter docWriter = null; string ocrInstallationDirectory = ""; //use default installation IOcrEngine FormsOcrEngine; FormsOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false); FormsOcrEngine.Startup(FormsCodec, docWriter, System.IO.Path.GetTempPath(), ocrInstallationDirectory); OcrObjectsManager ocrObjectManager = new OcrObjectsManager(FormsOcrEngine); RecognitionEngine.ObjectsManagers.Add(ocrObjectManager);
- Create the Master Form (or several) attributes using the CreateMasterForm.
FormRecognitionAttributes attributes; attributes = RecognitionEngine.CreateMasterForm(name, Guid.Empty, null);
- Add pages to the Master Form using the AddMasterFormPage Method.
for(int i = 1; i<= image.PageCount; i++) { image.Page = i; AddPageToMasterForm(image, attributes); }
- Close the Master Form using the CloseMasterForm Method.
RecognitionEngine.CloseMasterForm(attributes);
Processing Fields:
- Create the Form Processing Engine using the Class.
FormProcessingEngine ProcessingEngine = new FormProcessingEngine();
- Initialize the Form Processing Engine with the OCR engine, Barcode engine, or both engines.
IOcrEngine FormsOcrEngine; FormsOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false); FormsOcrEngine.Startup(null, null, null); ProcessingEngine.OcrEngine = FormsOcrEngine; BarcodeEngine FormsBarcodeEngine = new BarcodeEngine(); ProcessingEngine.BarcodeEngine = FormsBarcodeEngine;
- Create the Form Fields list.
List<FormField> fields;
- Add your form fields to the lists.
TextFormField text = new TextFormField(); text.Name = name; text.Bounds = new LogicalRectangle(100, 500, 50, 75, LogicalUnit.Pixel); fields.Add(text); OmrFormField omr = new OmrFormField(); omr.Name = name; omr.Bounds = new LogicalRectangle(200, 300, 25, 25, LogicalUnit.Pixel); fields.Add(omr); ImageFormField image = new ImageFormField(); image.Name = name; image.Bounds = new LogicalRectangle(100, 1000, 300, 50, LogicalUnit.Pixel); ; fields.Add(image); BarcodeFormField barcode = new BarcodeFormField(); barcode.Name = name; barcode.Bounds = new LogicalRectangle(700, 100, 300, 100, LogicalUnit.Pixel); fields.Add(barcode);
- Create a page and add the fields to it.
FormPage page = new FormPage(image.Page, image.XResolution, image.YResolution); page.AddRange(fields);
- Add pages to the processing engine.
ProcessingEngine.Pages.Add(formPage);
Save Master Form to disk repository:
- Create a Repository using the Leadtools.Forms.Auto.DiskMasterFormsRepository Class.
DiskMasterFormsRepository repository; repository = new DiskMasterFormsRepository(codecs, @"C:\Forms\FormsDemo\OCR_Test");
- Save the Master Form to the repository at the root category.
repository.RootCategory.AddMasterForm(attributes, ProcessingEngine.Pages, image);