public void ProcessForm(
Stream stream,
FormRecognitionAttributes masterAttributes,
FormPages formFields
)
stream
A System.IO.Stream containing the unknown form image data.
masterAttributes
The Master Form attributes of the form type.
formFields
The fields to be processed for the Master Form of the form type.
This method processes the recognized form fields. The Master Form fields are obtained by calling IMasterForm.ReadFields of the AutoFormsRecognizeFormResult.MasterForm.
The stream should have all form pages.
This method is useful because it allows you to do the form processing later on or on another machine without the need to recreate the recognition result object
The form alignment is calculated internally, so providing the recognition results will speed the alignment calculation process.
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 AutoFormRecognitionAndProcessing1Stream()
{
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();
AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, 30, 80, true);
FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"));
//recognize the form
AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(fs, null);
if (result == null)
return;
//get form fields
FormPages formFields = result.MasterForm.ReadFields();
FormRecognitionAttributes attributes = result.MasterForm.ReadAttributes();
//process form
autoEngine.ProcessForm(fs, attributes, formFields);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";
}