[SerializableAttribute()]
public enum OcrProgressStatus
typedef NS_ENUM(NSInteger, LTOcrProgressStatus) {
LTOcrProgressStatusContinue = 0,
LTOcrProgressStatusAbort
};
public enum OcrProgressStatus
[SerializableAttribute()]
public enum class OcrProgressStatus
class OcrProgressStatus(Enum):
Continue = 0
Abort = 1
Value | Member | Description |
---|---|---|
0 | Continue | Continue normal operation. |
1 | Abort | Signal that the user has requested the current operation to be aborted. The processing will stop at the first suitable moment and any pending operations are aborted. |
OcrProgressStatus used as a parameter to the IOcrProgressData.Status property. You can use this property to abort the callback at anytime.
Notice that aborting the callback will cancel any pending operations.
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