public FormPages ProcessForm(
RasterImage form,
PageRequestCallback pageRequestCallback,
object userData,
AutoFormsRecognizeFormResult formResult
)
form
The recognized Form image.
pageRequestCallback
Page request callback if more form images are needed.
userData
The user defined data that is associated with PageRequestCallback.
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.
If form does not have all form page images, during the processing if more pages are required for processing this method will ask for the required pages one page at a time using the pageRequestCallback. The PageRequestCallbackData.FormPageNumber will have the number of the required page, and the user returns the requested page image through PageRequestCallbackData.Page.
If form has all form pages you can set pageRequestCallback to null.
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;
using Leadtools.Forms;
public void AutoFormRecognitionAndProcessing2()
{
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;
//load all form pages
RasterImage form = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"), 1, CodecsLoadByteOrder.Bgr, 1, -1);
AutoFormsRecognizeFormResult result = autoEngine.RecognizeForm(form, null);
if (result == null)
return;
FormPages formFields = autoEngine.ProcessForm(form, null, null, result);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}