public void Save(string fileName,OcrWriteXmlOptions xmlOptions)
fileName
The name of the file containing the settings to read.
xmlOptions
XML options to use.
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 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. |
using Leadtools;using Leadtools.Codecs;using Leadtools.Ocr;using Leadtools.Document.Writer;public void LoadSettingsExample1(){string settingsFileName = Path.Combine(LEAD_VARS.ImagesDir, "PlusSettings.xml");string userDictionaryFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyDictionary.ud");// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);IOcrSettingManager settingManager = ocrEngine.SettingManager;// Enable English and German character setsocrEngine.LanguageManager.EnableLanguages(new string[] { "en", "de" });// Set the spell checking optionsocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native;ocrEngine.SpellCheckManager.SpellLanguage = "en";// Change some settingssettingManager.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 integersettingManager.SetEnumValue("SaveDocument.Mark.SuspectedCharacterColor", 7);// Change an enum using stringssettingManager.SetEnumValue("SaveDocument.Mark.RejectionCharacterColor", "Blue, Green, Red");// Save the settingssettingManager.Save(settingsFileName);// Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown();}// Now create another instance of the engine, load the settings and make sure they are the sameusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);IOcrSettingManager settingManager = ocrEngine.SettingManager;// Load the settingssettingManager.Load(settingsFileName);// Check the character setstring[] languages = ocrEngine.LanguageManager.GetEnabledLanguages();Debug.Assert(languages[0] == "en" && languages[1] == "de");// Check the spell checking optionsDebug.Assert(ocrEngine.SpellCheckManager.SpellCheckEngine == OcrSpellCheckEngine.Native);Debug.Assert(ocrEngine.SpellCheckManager.SpellLanguage == "en");// Check the settingsDebug.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 startedocrEngine.Shutdown();}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";}