public FormPages ProcessForm(
Stream stream,
AutoFormsRecognizeFormResult formResult
)
stream
A System.IO.Stream containing the unknown form image data.
formResult
The form recognition result that has been returned by RecognizeForm(RasterImage,List<IMasterFormsCategory>).
The processed fields if the Master Form has fields, otherwise it returns null.
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.
The form alignment is calculated from the recognition results.
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 AutoFormRecognitionAndProcessing2Stream()
{
string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test");
RasterCodecs codecs = new RasterCodecs();
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);
autoEngine.MinimumConfidenceRecognized = 80;
FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"));
AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(fs, null);
if (result == null)
return;
FormPages formFields = autoEngine.ProcessForm(fs, result);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";
}