Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.8
|
Leadtools.Forms.Commands Namespace : BankCheckReader Class |
public class BankCheckReader
'Declaration Public Class BankCheckReader
'Usage Dim instance As BankCheckReader
public ref class BankCheckReader
This is a general purpose class that can retrieve fields from bank check images.
It does not read all types of checks and does not always read all fields.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Forms Imports Leadtools.Forms.Ocr Imports Leadtools.Forms.Commands <TestMethod()> _ Public Sub TestBankCheckReader() ' Initialize the RasterCodecs class Dim codecs As New RasterCodecs() ' Initialize the BankCheckReader class Dim checkReader As New BankCheckReader() ' The bank cheque image Dim chequePath As String = Path.Combine(LEAD_VARS.ImagesDir, "BankCheck.jpg") Dim image As RasterImage = codecs.Load(chequePath) Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False) ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime") ' Assign Engine to Reader checkReader.OcrEngine = ocrEngine ' handle Process Event AddHandler checkReader.Process, AddressOf reader_Processed ' Process Image checkReader.ProcessImage(image) End Using End Sub Private Sub reader_Processed(sender As Object, e As ProgressEventArgs) Console.WriteLine(String.Format("State : {0}%", e.State)) Console.WriteLine(String.Format("Percentage : {0}%", e.Percentage)) Console.WriteLine(String.Format("FieldType : {0}%", e.FieldType.ToString())) If e.State = ProcessState.Finish Then Dim reader As BankCheckReader = TryCast(sender, BankCheckReader) If reader IsNot Nothing Then For Each value As KeyValuePair(Of String, BankCheckField) In reader.Results Dim bounds As LeadRect = value.Value.Bounds Console.WriteLine(String.Format("Field Name : {0}", value.Key)) Console.WriteLine(String.Format("Field Value : {0}", value.Value.Text)) Console.WriteLine(String.Format("Field Bounds : {0},{0},{0},{0}", bounds.X.ToString(), bounds.Y.ToString(), bounds.Width.ToString(), bounds.Height.ToString())) Console.WriteLine("************************************") Next End If End If End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Forms.Ocr; using Leadtools.Forms.Commands; [TestMethod] public void TestBankCheckReader() { // Initialize the RasterCodecs class RasterCodecs codecs = new RasterCodecs(); // Initialize the BankCheckReader class BankCheckReader checkReader = new BankCheckReader(); // The bank cheque image string chequePath = Path.Combine(LEAD_VARS.ImagesDir, "BankCheck.jpg"); RasterImage image = codecs.Load(chequePath); IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false); ocrEngine.Startup(codecs, null, null, LEAD_VARS.OcrAdvantageRuntimeDir); // Assign Engine to Reader checkReader.OcrEngine = ocrEngine; // handle Process Event checkReader.Process += new EventHandler<ProgressEventArgs>(reader_Processed); // Process Image checkReader.ProcessImage(image); ocrEngine.Shutdown(); } void reader_Processed(object sender, ProgressEventArgs e) { Console.WriteLine(string.Format("State : {0}%", e.State)); Console.WriteLine(string.Format("Percentage : {0}%", e.Percentage)); Console.WriteLine(string.Format("FieldType : {0}%", e.FieldType.ToString())); if (e.State == ProcessState.Finish) { BankCheckReader reader = sender as BankCheckReader; foreach (var value in reader.Results) { LeadRect bounds = value.Value.Bounds; Console.WriteLine(string.Format("Field Name : {0}", value.Key)); Console.WriteLine(string.Format("Field Value : {0}", value.Value.Text)); Console.WriteLine(string.Format("Field Bounds : {0},{0},{0},{0}", bounds.X.ToString(), bounds.Y.ToString(), bounds.Width.ToString(), bounds.Height.ToString())); Console.WriteLine("************************************"); } } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }