[SerializableAttribute()]
public enum OcrSupportLockedExceptionType
Value | Member | Description |
---|---|---|
0 | Ocr | OCR support is required to use this feature. |
1 | Icr | ICR (handprint) support is required to use this feature. |
2 | Omr | OMR support is required to use this feature. |
3 | PDF support is required to use this feature (When saving a document using the LEADTOOLS Document Writers, refer to IOcrDocument.Save. | |
4 | PdfA | (Deprecated) Do not use. |
6 | EnginePdf | PDF support is required to use this feature (When saving a document using the engine native support, refer to IOcrDocumentManager.EngineFormat. |
Various parts of the LEADTOOLS OCR toolkit are locked by a specific key. When using these features without first unlocking the specified feature, an exception of type OcrSupportLockedException will be thrown. You can examine the OcrSupportLockedException.SupportType property to determine which unlock support feature is required.
The following table lists the action required when an error of type OcrSupportLockedException is thrown:
Engine type | OcrSupportLockedException.SupportType value | Action required |
---|---|---|
LEADTOOLS OCR Module - LEAD Engine (OcrEngineType.LEAD) | OcrSupportLockedExceptionType.Ocr | Unlock RasterSupportType.OcrLEAD |
LEADTOOLS OCR Module - LEAD Engine (OcrEngineType.LEAD) | OcrSupportLockedExceptionType.Pdf | Unlock RasterSupportType.OcrLEADPdfOutput |
LEADTOOLS OCR Module - LEAD Engine (OcrEngineType.LEAD) | OcrSupportLockedExceptionType.PdfA | Unlock RasterSupportType.OcrLEADPdfOutput |
Note at this time, LEADTOOLS OCR Module - LEAD Engine (OcrEngineType.LEAD) is not supported.
For more information on feature support and how to obtain the unlock keys, refer to Unlocking Special LEAD Features, RasterSupport and RasterSupportType.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Ocr;
using Leadtools.Document.Writer;
public void OcrExceptionExample()
{
try
{
// 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);
string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");
string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");
// Create a page
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add a page to the document
IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);
// Recognize the page
// Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will
// check and automatically auto-zones the page
ocrPage.Recognize(null);
// Save the document we have as PDF
ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null);
}
// Shutdown the engine
// Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.Shutdown();
}
}
catch (OcrSupportLockedException ex)
{
Console.WriteLine("Support is locked. You need to unlock '{0}' in this engine to use this feature", ex.SupportType);
}
catch (OcrException ex)
{
Console.WriteLine("OCR Error\nCode: {0}\nMessage:{1}", ex.Code, ex.Message);
}
catch (RasterException ex)
{
Console.WriteLine("LEADTOOLS Error\nCode: {0}\nMessage:{1}", ex.Code, ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("System Error\nMessage:{0}", ex.Message);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}