public interface IOcrSpellCheckManager
Public Interface IOcrSpellCheckManager
@interface LTOcrSpellCheckManager : NSObject
public class OcrSpellCheckManager
public interface class IOcrSpellCheckManager
Access the IOcrSpellCheckManager being used by an IOcrEngine through the IOcrEngine.SpellCheckManager property.
LEADTOOLS OCR supports spell checking and correction through the use of external dictionaries. The value of IOcrSpellCheckManager.SpellCheckEngine acts as a global switch to use a particular spell checker or turn spell checking off.
If the value of this property is OcrSpellCheckEngine.None, then no spell checking is performed during the recognition process. When you set the value of this property to one of the supported engines, then the spell checking system is enabled and correction will be performed during the recognition process.
When you set the IOcrSpellCheckManager.SpellCheckEngine property to a value other than None, the OCR engine will automatically try to load the spell checker requested and queries the language dictionaries found on your machine. You can change SpellCheckEngine at any time during the life of the IOcrEngine depending on your application needs. For example, to disable spell checking while recognizing certain types of documents only and then re-enabling it for other types.
All OCR engines allow you to turn spell checking off (set SpellCheckEngine to OcrSpellCheckEngine.None). The additional spell checker support is as follows:
LEADTOOLS OCR Module - LEAD Engine: OcrSpellCheckEngine.Native, OcrSpellCheckEngine.OS and OcrSpellCheckEngine.Hunspell are supported. The Hunspell engine is not installed by LEADTOOLS. You must download this engine separately from NHunspell web site. For details on using Hunspell engine with LEADTOOLS OCR Module - LEAD Engine, see OcrSpellCheckEngine.
LEADTOOLS OCR Module - OmniPage Engine: OcrSpellCheckEngine.Native only. This is the internal spell checker that ships with the LEADTOOLS OCR Module - OmniPage Engine runtime.
Arabic OCR engine: Currently, spell checking is not supported.
Use IOcrSpellCheckManager.GetSupportedSpellCheckEngines to query the spell check engines supported by the current OCR engine at runtime.
The default LEADTOOLS installation will only ship with OcrSpellCheckEngine.Native dictionaries for the following languages: English, German, French, Spanish and Italian. Additional language dictionaries are included in the LEADTOOLS Additional OCR Features setup available at https://www.leadtools.com.
Use IOcrSpellCheckManager.GetSupportedSpellLanguages to query the spell check languages (dictionaries) installed on the current machine at runtime. Use IOcrSpellCheckManager.GetAdditionalSpellLanguages to query the extra spell check languages (dictionaries) available to the engine at runtime but not installed (included in the Additional OCR Features Setup described above).
This example will set various properties of the spell checking system.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Ocr;
using Leadtools.Drawing;
public void OcrSpellCheckManagerExample()
{
// 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);
IOcrSpellCheckManager spellCheckManager = ocrEngine.SpellCheckManager;
// Get the spell language supported (languages with a dictionary)
string[] spellLanguages = spellCheckManager.GetSupportedSpellLanguages();
foreach (string spellLanguage in spellLanguages)
Console.WriteLine(spellLanguage);
// Check if English is supported
string language = "en";
if (spellCheckManager.IsSpellLanguageSupported(language))
{
// Yes, set it
spellCheckManager.SpellLanguage = language;
Console.WriteLine("Current spell language: {0}", spellCheckManager.SpellLanguage);
}
// Enable the spell checking system
spellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native;
// Now perform other OCR functions here
// Shutdown the engine
// Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.Shutdown();
}
}
static class LEAD_VARS
{
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS21\Bin\Common\OcrLEADRuntime";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Ocr
Imports Leadtools.Drawing
Public Sub OcrSpellCheckManagerExample()
' Create an instance of the engine
Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)
' Start the engine using default parameters
ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir)
Dim spellCheckManager As IOcrSpellCheckManager = ocrEngine.SpellCheckManager
' Get the spell language supported (languages with a dictionary)
Dim spellLanguages As String() = spellCheckManager.GetSupportedSpellLanguages()
For Each spellLanguage As String In spellLanguages
Console.WriteLine(spellLanguage)
Next
' Check if English is supported
Dim language As String = "en"
If spellCheckManager.IsSpellLanguageSupported(language) Then
' Yes, set it
spellCheckManager.SpellLanguage = language
Console.WriteLine("Current spell language: {0}", spellCheckManager.SpellLanguage)
End If
' Enable the spell checking system
spellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native
' Now perform other OCR functions here
' Shutdown the engine
' Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.Shutdown()
End Using
End Sub
Public NotInheritable Class LEAD_VARS
Public Const OcrLEADRuntimeDir As String = "C:\LEADTOOLS21\Bin\Common\OcrLEADRuntime"
End Class
OcrSpellCheckEngine Enumeration
Programming with the LEADTOOLS .NET OCR
Files to be Included with Your Application
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