public interface IOcrProgressData
@interface LTOcrProgressData : NSObject
public class OcrProgressData
public interface class IOcrProgressData
class IOcrProgressData:
An object of type IOcrProgressData is passed to the OcrProgressCallback delegate every time the operation or the percentage of the operation is changed.
IOcrProgressData is also used as the type for the OcrAutoRecognizeJobProgressEventArgs.Data property used by the IOcrAutoRecognizeManager.JobProgress event.
You can examine the members of IOcrProgressData to show information on the current page, operation and percentage complete of the OCR process.
You can also use the Status property to abort the OCR operation.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Ocr;
using Leadtools.Document.Writer;
using Leadtools.Forms.Common;
using Leadtools.WinForms;
public void OcrProgressCallbackExample()
{
string logFileName = Path.Combine(LEAD_VARS.ImagesDir, "log.txt");
string multiPageTifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr.tif");
string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");
// Create the log text writer
_log = File.CreateText(logFileName);
// Create an instance of the engine
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
// Start the engine using default parameters
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add this image to the document
_log.WriteLine("Adding the pages");
_log.WriteLine("********************************");
ocrDocument.Pages.AddPages(multiPageTifFileName, 1, -1, new OcrProgressCallback(MyOcrProgressCallback));
// Auto-recognize the zones in all the pages
_log.WriteLine("Auto-zoning");
_log.WriteLine("********************************");
ocrDocument.Pages.AutoZone(new OcrProgressCallback(MyOcrProgressCallback));
// Recognize it and save it as PDF
_log.WriteLine("Recognizing");
_log.WriteLine("********************************");
ocrDocument.Pages.Recognize(new OcrProgressCallback(MyOcrProgressCallback));
_log.WriteLine("Saving to PDF");
_log.WriteLine("********************************");
ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, new OcrProgressCallback(MyOcrProgressCallback));
}
// Shutdown the engine
// Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.Shutdown();
}
_log.WriteLine("********************************");
_log.WriteLine("Complete");
_log.Flush();
_log.Close();
}
// Text writer to save the log to
private StreamWriter _log;
private void MyOcrProgressCallback(IOcrProgressData data)
{
if (data.Percentage == 0)
_log.WriteLine("--------------------------");
_log.WriteLine("Page:{0}({1}:{2}) {3}% Operation:{4}",
data.CurrentPageIndex.ToString("00"),
data.FirstPageIndex.ToString("00"),
data.LastPageIndex.ToString("00"),
data.Percentage.ToString("000"),
data.Operation);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.