Process Event
Summary
Represents a process event.
Syntax
Public Event Process As EventHandler(Of ProgressEventArgs)
public:
event EventHandler<ProgressEventArgs^>^ Process
Event Data
The event handler receives an argument of type ProgressEventArgs containing data related to this event. The following ProgressEventArgs properties provide information specific to this event.
Property |
Description |
Cancel | Gets or sets the Cancel flag. When set to true cancels the process. |
CurrentField |
The current field that is being processed. |
FieldType |
The current BankCheckField type that will be or has been processed. |
Percentage |
The current percent completion for processing the bank check image. |
State |
The current state for the bank check image processing . |
Example
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);
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:\LEADTOOLS21\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS21\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)
ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS21\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:\LEADTOOLS21\Resources\Images"
End Class