←Select platform

BankCheckReader Class

Summary

Class for reading BankCheckFields in a bank check image.

Syntax
C#
VB
C++
Java
public class BankCheckReader 
Public Class BankCheckReader  
public class BankCheckReader 
public ref class BankCheckReader  

Remarks

This is a general purpose class that can retrieve machine-printed information from bank check images.

It does not read all types of checks and does not always read all fields.

To extract hand-written text from scanned documents and convert images to text-searchable formats, use the LEADTOOLS ICR Module - OmniPage Engine.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms.Common; 
using Leadtools.Ocr; 
using Leadtools.Forms.Commands; 
 
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.LEAD, false); 
   ocrEngine.Startup(codecs, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
   // Assign Engine to Reader 
   checkReader.OcrEngine = ocrEngine; 
 
   //Set MICR code type 
   checkReader.MicrFontType = BankCheckMicrFontType.E13b; 
 
   // 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"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Forms.Common 
Imports Leadtools.Ocr 
Imports Leadtools.Forms.Commands 
 
Public Sub TestBankCheckReader() 
   ' Initialize the RasterCodecs class 
   Dim codecs As New RasterCodecs() 
 
   ' Initialize the BankCheckReader class 
   Dim checkReader As New BankCheckReader() 
 
   ' The bank check 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.LEAD, False) 
      ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime") 
      ' 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 

Requirements

Target Platforms

Help Version 20.0.2020.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Forms.Commands Assembly