←Select platform

Load(Stream) Method

Summary

Loads the OCR engine settings from a .NET stream.

Syntax
C#
VB
C++
public void Load( 
   Stream stream 
) 
Overloads Sub Load( _ 
   ByVal stream As Stream _ 
)  
void Load(  
   Stream^ stream 
)  

Parameters

stream
The stream to read the settings from.

Remarks

Once you set up the OCR engine, you can re-use these settings by saving the engine state into memory or to an XML file on disk. Later, reload these settings and use them in the same or a different instance of IOcrEngine.

The following table lists all the states loaded from the XML file. After the load operation completes, some or all of the settings below will be changed.

Part Members
IOcrSettingManager (accessed through IOcrEngine.SettingManager All the settings as obtained through IOcrSettingManager.GetSettingNames
IOcrLanguageManager (accessed through IOcrEngine.LanguageManager The value of IOcrLanguageManager.GetEnabledLanguages
IOcrSpellCheckManager (accessed through IOcrEngine.SpellCheckManager The values of IOcrSpellCheckManager.SpellCheckEngine and IOcrSpellCheckManager.SpellLanguage.
IOcrDocumentManager (accessed through IOcrEngine.DocumentManager The values of the IOcrDocumentManager.RejectionSymbol and IOcrDocumentManager.MissingSymbol.

You can save the settings to a .NET stream using Save, you can load and save the settings to a disk file using Load and Save.

Example

This example changes some OCR engine settings and saves them into a memory stream. It shuts down the engine, restarts it and reloads the last settings used.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Document.Writer; 
 
public void LoadSettingsExample2() 
{ 
   string userDictionaryFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyDictionary.ud"); 
 
   // Stream to save the settings to 
   MemoryStream ms = new MemoryStream(); 
 
   // Create an instance of the engine 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, false)) 
   { 
      // Start the engine using default parameters 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      IOcrSettingManager settingManager = ocrEngine.SettingManager; 
 
      // Enable English and German character sets 
      ocrEngine.LanguageManager.EnableLanguages(new string[] { "en", "de" }); 
 
      // Set the spell checking options 
      ocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.None; 
      ocrEngine.SpellCheckManager.SpellLanguage = "en"; 
 
      // Change some settings 
      settingManager.SetValue("SaveDocument.FormatLevel", "Part"); 
      settingManager.SetBooleanValue("SaveDocument.Document.TextInBoxes", false); 
      settingManager.SetIntegerValue("SaveDocument.Document.Margin.Left", 2400); 
      settingManager.SetStringValue("SaveDocument.Character.ProportionalSansSerifFontName", "MyFont"); 
      settingManager.SetStringValue("SaveDocument.Mark.BeforeMissingCharacterSeparator", "MyMark"); 
      settingManager.SetValue("SaveDocument.Mark.BeginOfLineSeparator", null); 
      // Change an enum using an integer 
      settingManager.SetEnumValue("SaveDocument.Mark.SuspectedCharacterColor", 7); 
      // Change an enum using strings 
      settingManager.SetEnumValue("SaveDocument.Mark.RejectionCharacterColor", "Blue, Green, Red"); 
 
      // Save the settings 
      settingManager.Save(ms); 
 
      // Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown(); 
   } 
 
   // Reset the stream position to the beginning 
   ms.Position = 0; 
 
   // Now create another instance of the engine, load the settings and make sure they are the same 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, false)) 
   { 
      // Start the engine using default parameters 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      IOcrSettingManager settingManager = ocrEngine.SettingManager; 
 
      // Load the settings 
      settingManager.Load(ms); 
 
      // Check the character set 
      string[] languages = ocrEngine.LanguageManager.GetEnabledLanguages(); 
      Debug.Assert(languages[0] == "en" && languages[1] == "de"); 
 
      // Check the spell checking options 
      Debug.Assert(ocrEngine.SpellCheckManager.SpellCheckEngine == OcrSpellCheckEngine.Native); 
      Debug.Assert(ocrEngine.SpellCheckManager.SpellLanguage == "en"); 
 
      // Check the settings 
      Debug.Assert(settingManager.GetValue("SaveDocument.FormatLevel") == "Part"); 
      Debug.Assert(settingManager.GetBooleanValue("SaveDocument.Document.TextInBoxes") == false); 
      Debug.Assert(settingManager.GetIntegerValue("SaveDocument.Document.Margin.Left") == 2400); 
      Debug.Assert(settingManager.GetStringValue("SaveDocument.Character.ProportionalSansSerifFontName") == "MyFont"); 
      Debug.Assert(settingManager.GetStringValue("SaveDocument.Mark.BeforeMissingCharacterSeparator") == "MyMark"); 
      Debug.Assert(settingManager.GetValue("SaveDocument.Mark.BeginOfLineSeparator") == null); 
      Debug.Assert(settingManager.GetEnumValue("SaveDocument.Mark.SuspectedCharacterColor") == 7); 
      Debug.Assert(settingManager.GetEnumValueAsString("SaveDocument.Mark.RejectionCharacterColor") == "Blue, Green, Red"); 
 
      // Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown(); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Ocr 
Imports Leadtools.Document.Writer 
 
Public Sub LoadSettingsExample2() 
   Dim userDictionaryFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "MyDictionary.ud") 
 
   ' Stream to save the settings to 
   Dim ms As New MemoryStream() 
 
   ' Create an instance of the engine 
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, False) 
      ' Start the engine using default parameters 
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir) 
 
      Dim settingManager As IOcrSettingManager = ocrEngine.SettingManager 
 
      ' Enable English and German character sets 
      ocrEngine.LanguageManager.EnableLanguages(New String() {"en", "de"}) 
 
      ' Set the spell checking options 
      ocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.None 
      ocrEngine.SpellCheckManager.SpellLanguage = "en" 
 
      ' Change some settings 
      settingManager.SetValue("SaveDocument.FormatLevel", "Part") 
      settingManager.SetBooleanValue("SaveDocument.Document.TextInBoxes", False) 
      settingManager.SetIntegerValue("SaveDocument.Document.Margin.Left", 2400) 
      settingManager.SetStringValue("SaveDocument.Character.ProportionalSansSerifFontName", "MyFont") 
      settingManager.SetStringValue("SaveDocument.Mark.BeforeMissingCharacterSeparator", "MyMark") 
      settingManager.SetValue("SaveDocument.Mark.BeginOfLineSeparator", Nothing) 
      ' Change an enum using an integer 
      settingManager.SetEnumValue("SaveDocument.Mark.SuspectedCharacterColor", 7) 
      ' Change an enum using strings 
      settingManager.SetEnumValue("SaveDocument.Mark.RejectionCharacterColor", "Blue, Green, Red") 
 
      ' Save the settings 
      settingManager.Save(ms) 
 
      ' Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown() 
   End Using 
 
   ' Reset the stream position to the beginning 
   ms.Position = 0 
 
   ' Now create another instance of the engine, load the settings and make sure they are the same 
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, False) 
      ' Start the engine using default parameters 
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir) 
 
      Dim settingManager As IOcrSettingManager = ocrEngine.SettingManager 
 
      ' Load the settings 
      settingManager.Load(ms) 
 
      ' Check the character set 
      Dim languages As String() = ocrEngine.LanguageManager.GetEnabledLanguages() 
      Debug.Assert(languages(0) = "en" AndAlso languages(1) = "de") 
 
      ' Check the spell checking options 
      Debug.Assert(ocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native) 
      Debug.Assert(ocrEngine.SpellCheckManager.SpellLanguage = "en") 
 
      ' Check the settings 
      Debug.Assert(settingManager.GetValue("SaveDocument.FormatLevel") = "Part") 
      Debug.Assert(settingManager.GetBooleanValue("SaveDocument.Document.TextInBoxes") = False) 
      Debug.Assert(settingManager.GetIntegerValue("SaveDocument.Document.Margin.Left") = 2400) 
      Debug.Assert(settingManager.GetStringValue("SaveDocument.Character.ProportionalSansSerifFontName") = "MyFont") 
      Debug.Assert(settingManager.GetStringValue("SaveDocument.Mark.BeforeMissingCharacterSeparator") = "MyMark") 
      Debug.Assert(settingManager.GetValue("SaveDocument.Mark.BeginOfLineSeparator") Is Nothing) 
      Debug.Assert(settingManager.GetEnumValue("SaveDocument.Mark.SuspectedCharacterColor") = 7) 
      Debug.Assert(settingManager.GetEnumValueAsString("SaveDocument.Mark.RejectionCharacterColor") = "Blue, Green, Red") 
 
      ' 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 ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
   Public Const OcrLEADRuntimeDir As String = "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Ocr Assembly