Leadtools.Forms.Auto Namespace > AutoFormsEngine Class > AutoFormsEngine Constructor : AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine,AutoFormsRecognitionManager) |
public AutoFormsEngine( IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine, AutoFormsRecognitionManager managers )
'Declaration Public Function New( _ ByVal repository As IMasterFormsRepository, _ ByVal ocrEngines As List(Of IOcrEngine), _ ByVal barcodeEngine As BarcodeEngine, _ ByVal managers As AutoFormsRecognitionManager _ )
'Usage Dim repository As IMasterFormsRepository Dim ocrEngines As List(Of IOcrEngine) Dim barcodeEngine As BarcodeEngine Dim managers As AutoFormsRecognitionManager Dim instance As New AutoFormsEngine(repository, ocrEngines, barcodeEngine, managers)
public AutoFormsEngine( IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine, AutoFormsRecognitionManager managers )
function AutoFormsEngine( repository , ocrEngines , barcodeEngine , managers )
public: AutoFormsEngine( IMasterFormsRepository^ repository, List<IOcrEngine^>^ ocrEngines, BarcodeEngine^ barcodeEngine, AutoFormsRecognitionManager managers )
It is the user's responsibility to dispose of this object when it is no longer needed by calling Dispose.
ocrEngines should be provided. If it is null, an exception is thrown.
If barcodeEngine is null, Leadtools.Forms.Recognition.Barcode.BarcodeObjectsManager will not be used for recognition and Leadtools.Forms.Processing.BarcodeFormField will not be processed.
The MinimumConfidenceRecognized is set to 90, MinimumConfidenceKnownForm is set to 30, and RecognizeFirstPageOnly is set to false.
Multi-threading is recommended since it speeds up form recognition and processing.
To implement your own multiple thread or to not use threads use AutoFormsEngine(IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine, AutoFormsRecognitionManager managers).
Public Sub AutoFormRunThreadManagers() Dim filesNames As List(Of String) = New List(Of String)() filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif")) Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\MasterForm Sets\OCR_ICR") Dim codecs As RasterCodecs = New RasterCodecs() 'create repository Dim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs, root) Dim ocrEngines As List(Of IOcrEngine) = New List(Of IOcrEngine)() Dim ocrEngine As IOcrEngine 'creates four threads For i As Integer = 0 To 3 ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, True) ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing) ocrEngines.Add(ocrEngine) Next i Dim engineBarcode As BarcodeEngine = New BarcodeEngine() 'create AutoForm Engine Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngines, engineBarcode, AutoFormsRecognitionManager.Ocr) Try For Each formFileName As String In filesNames 'recognize and process the form Dim result As AutoFormsRunResult = autoEngine.Run(formFileName, Nothing) Next formFileName Finally autoEngine.Dispose() For Each engine As IOcrEngine In ocrEngines engine.Shutdown() engine.Dispose() Next engine ocrEngines.Clear() End Try End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
public void AutoFormRunThreadManagers() { List<string> filesNames = new List<string>(); filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\\Images\\FCC-107_OCR_Filled.tif")); string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\MasterForm Sets\OCR_ICR"); RasterCodecs codecs = new RasterCodecs(); //create repository DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root); List<IOcrEngine> ocrEngines = new List<IOcrEngine>(); IOcrEngine ocrEngine; //creates four threads for(int i = 0; i < 4; i++) { ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, true); ocrEngine.Startup(null, null, null, null); ocrEngines.Add(ocrEngine); } BarcodeEngine barcodeEngine = new BarcodeEngine(); //create AutoForm Engine AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngines, barcodeEngine, AutoFormsRecognitionManager.Ocr); try { foreach(string formFileName in filesNames) { //recognize and process the form AutoFormsRunResult result = autoEngine.Run(formFileName, null); } } finally { autoEngine.Dispose(); foreach(IOcrEngine engine in ocrEngines) { engine.Shutdown(); engine.Dispose(); } ocrEngines.Clear(); } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2