Specifies how to load master form data found in the repository.
public AutoFormsEngineMasterFormLoadType MasterFormLoadType { get; set; }
The load type for master form data
This property is used to control the amount of memory used to hold master form data while maintaining its speed. The AutoFormsEngine performs the fastest when all master form data are loaded in memory. If the repository contains too many master forms to be loaded in memory, then either master form data is loaded on demand or stored in cache as a tradeoff between speed or memory. Notice that the cache option works only when FullTextSearchManager
is set, otherwise it will work as load on demand option.
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 static void AutoFormsEngineCreateOptions_Example()
{
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\MasterForm Sets\Driving License");
DiskMasterFormsRepository formsRepository = new DiskMasterFormsRepository(ocrEngine.RasterCodecsInstance, root);
// Set the parameters for the AutoFormsEngine
AutoFormsEngineCreateOptions autoFormsOptions = new AutoFormsEngineCreateOptions()
{
Repository = formsRepository,
RecognitionOcrEngine = ocrEngine,
ProcessingOcrEngine = ocrEngine,
BarcodeEngine = null,
Managers = AutoFormsRecognitionManager.Ocr | AutoFormsRecognitionManager.Default,
MinimumConfidenceKnownForm = 30,
MinimumConfidenceRecognized = 80,
RecognizeFirstPageOnly = true,
MasterFormLoadType = AutoFormsEngineMasterFormLoadType.UseCache
};
// Create the AutoFormsEngine using the options previously defined
using (AutoFormsEngine autoEngine = new AutoFormsEngine(autoFormsOptions))
{
// If caching masterform files, load 10 of them at a time
if (autoEngine.MasterFormLoadType == AutoFormsEngineMasterFormLoadType.UseCache)
autoEngine.MasterFormCacheMaximumSize = 10;
// Recognize and process the form
autoEngine.FilledFormType = FormsPageType.IDCard;
autoEngine.EnableQuickPreRecognitionCheck = false;
AutoFormsRunResult result = autoEngine.Run(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\Driving License\License.png"), null);
if (result != null)
Console.WriteLine(String.Format("Recognized as {0} with {1}% confidence.", result.RecognitionResult.MasterForm.Name, result.RecognitionResult.Result.Confidence));
else
Console.WriteLine("Form not recognized");
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}