Class OcrProgressEventsArgs
An event allowing developers to track and display progress of longer OCR jobs.
Use the OcrProgress event to receive detailed notifications of ocr job progress.
Inheritance
Namespace: IronOcr.Events
Assembly: IronOcr.dll
Syntax
public class OcrProgressEventsArgs : EventArgs
Progress on a long OCR job, percentage done, pages finished, and elapsed time, arrives in OcrProgressEventsArgs. The object is delivered to a handler each time IronOCR advances through a multi-page read, so an application can update a progress bar or log throughput instead of leaving the user waiting on an opaque call. It is what a developer reads when wiring feedback into batch recognition.
A developer never constructs one. It is handed to the OcrProgress event on IronTesseract, typed as EventHandler<OcrProgressEventsArgs>. Subscribe before calling Read, and the handler fires as the engine works through the input; the event argument carries a fresh snapshot on each callback. Because the read may run on a worker thread, marshal any UI update back to the UI thread inside the handler.
The snapshot exposes six read-only values. ProgressPercent is the headline figure for a progress bar, while PagesComplete and TotalPages give the same idea as a page count, so a 3-of-10 read reads naturally either way. StartTimeUTC records when the job began, EndTimeUTC is a Nullable<DateTime> that stays null until the job finishes, and Duration is the elapsed TimeSpan so far. Read ProgressPercent for a simple indicator, and pair Duration with ProgressPercent when reporting an estimated time remaining for a long batch. Every property is get-only, so treat the argument as an immutable report of that moment rather than something to modify, and capture only the values you intend to display since the next callback supplies a newer snapshot.
using IronOcr;
var ocr = new IronTesseract();
ocr.OcrProgress += (sender, e) =>
Console.WriteLine($"{e.ProgressPercent}% ({e.PagesComplete}/{e.TotalPages})");
ocr.Read(input);The progress tracking how-to wires the event to a progress display, the progress tracking example shows a working handler, and the async OCR how-to keeps the read off the calling thread.
Constructors
OcrProgressEventsArgs()
Declaration
public OcrProgressEventsArgs()
Properties
Duration
The time taken for the entire OCR job. The counter stops when OCR is complete on every page.
Declaration
public TimeSpan Duration { get; }
Property Value
| Type | Description |
|---|---|
| System.TimeSpan |
EndTimeUTC
The DateTime at which the Read(OcrInputBase) OCR job was 100% completed in UTC format.
null while OCR is still in progress
Declaration
public Nullable<DateTime> EndTimeUTC { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |
PagesComplete
The number of pages where OCR 'reading' has been fully completed. They are normally processed in parallel across multiple CPU cores.
Declaration
public int PagesComplete { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
ProgressPercent
OCR job progress as a percentage of pages completed. Values range from 0 to 100.
Declaration
public int ProgressPercent { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
StartTimeUTC
The DateTime at which the Read(OcrInputBase) OCR job started in UTC format.
Declaration
public DateTime StartTimeUTC { get; }
Property Value
| Type | Description |
|---|---|
| System.DateTime |
TotalPages
The total number of pages being OCR 'read' by Read(OcrInputBase) method class.
Declaration
public int TotalPages { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |