How use Progress Tracking
IronOCR provides an event for subscribing to track the progress of the OCR (Optical Character Recognition) reading operation. These properties offer valuable information about the progress, duration, and completion status of the OCR job, enabling applications to effectively monitor and report on the OCR process.
Get started with IronOCR
Start using IronOCR in your project today with a free trial.
How use Progress Tracking
- Download a C# library for tracking reading progress
- Subscribe to the OcrProgress event
- Utilize the instance passed by the event to retrieve progress information
- Obtain progress in percentage and total duration
- Retrieve start and end times, as well as the total page number
Progress Tracking Example
The OcrProgress event can be subscribed to receive progress updates on the reading process. The event will pass an instance containing information about the progress of the OCR job, such as the start time, total pages, progress as a percentage, duration, and end time. Let's use the following document as our sample: "Experiences in Biodiversity Research: A Field Course" by Thea B. Gessler, Iowa State University.
:path=/static-assets/ocr/content-code-examples/how-to/progress-tracking-progress-tracking.cs
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
// Subscribe to OcrProgress event
ocrTesseract.OcrProgress += (_, ocrProgressEventsArgs) =>
{
Console.WriteLine("Start time: " + ocrProgressEventsArgs.StartTimeUTC.ToString());
Console.WriteLine("Total pages number: " + ocrProgressEventsArgs.TotalPages);
Console.WriteLine("Progress(%) | Duration");
Console.WriteLine(" " + ocrProgressEventsArgs.ProgressPercent + "% | " + ocrProgressEventsArgs.Duration.TotalSeconds + "s");
Console.WriteLine("End time: " + ocrProgressEventsArgs.EndTimeUTC.ToString());
Console.WriteLine("----------------------------------------------");
};
using var input = new OcrInput();
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf");
// Progress events will fire during the read operation
var result = ocrTesseract.Read(input);
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
' Subscribe to OcrProgress event
Private ocrTesseract.OcrProgress += Sub(underscore, ocrProgressEventsArgs)
Console.WriteLine("Start time: " & ocrProgressEventsArgs.StartTimeUTC.ToString())
Console.WriteLine("Total pages number: " & ocrProgressEventsArgs.TotalPages)
Console.WriteLine("Progress(%) | Duration")
Console.WriteLine(" " & ocrProgressEventsArgs.ProgressPercent & "% | " & ocrProgressEventsArgs.Duration.TotalSeconds & "s")
Console.WriteLine("End time: " & ocrProgressEventsArgs.EndTimeUTC.ToString())
Console.WriteLine("----------------------------------------------")
End Sub
Private input = New OcrInput()
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf")
' Progress events will fire during the read operation
Dim result = ocrTesseract.Read(input)
Information from the Event
ProgressPercent: Represents the progress of the OCR job as a percentage of pages completed. It ranges from 0 to 100.
TotalPages: Indicates the total number of pages being processed by the OCR engine.
PagesComplete: Specifies the number of pages where OCR reading has been fully completed. This count may increase gradually as pages are processed.
Duration: Represents the total duration of the OCR job, indicating the time taken for the entire process to complete. It's measured in TimeSpan format. This time is updated every time the event is triggered.
StartTimeUTC: Denotes the date and time when the OCR job started, represented in Coordinated Universal Time (UTC) format.
EndTimeUTC: Represents the date and time when the OCR job was 100% completed in UTC format. This property is null while OCR is still in progress and gets populated once the OCR process is finished.