公共接口IOcrSettingManager
公共接口IOcrSettingManager
@接口LTOcrSettingManager: NSObject
公共类OcrSettingManager
公共接口类IOcrSettingManager
访问的实例IOcrSettingManager使用IOcrEngine通过IOcrEngine.SettingManager财产。
IOcrSettingManager允许您执行以下操作:
使用的不同方法IOcrSettingManager接口来获取和设置引擎特定的设置。每个环境都有一个唯一的名称(字符串值)。获得所有可用的设置当前OCR引擎通过GetSettingNames方法。的GetSettingDescriptor方法返回设置的描述(类型、友好的名称和值范围)。然后,您可以使用get和set方法的各种查询和改变特定设置的值。例如,如果设置类型OcrSettingValueType.Integer,你可以使用GetIntegerValue得到的当前值和设置SetIntegerValue改变它的值。请参考下面的例子一个完整的演示。
该接口还包含的方法来加载和发动机状态保存到. net流或磁盘上的XML文件。下表列出了所有美国保存:
你必须调用IOcrEngine.Startup您可以使用之前的方法IOcrEngine.SettingManager财产。
注意:IOcrEngine.LanguageManager和IOcrEngine.SpellCheckManager状态也保存当引擎设置保存。有关更多信息,请参考IOcrSettingManager.Save。
为支持引擎特定设置的列表及其含义,请参考OCR引擎特定的设置。
这个例子将启动LEADTOOLS OCR模块-铅引擎。显示所有设置的值,改变其中的一些。
使用Leadtools;
使用Leadtools.Codecs;
使用Leadtools.Ocr;
使用Leadtools.Document.Writer;
公共无效OcrSettingManagerExample ()
{
/ /创建一个实例的引擎
使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD))
{
/ /启动引擎使用默认参数
ocrEngine.Startup (零,零,零,LEAD_VARS.OcrLEADRuntimeDir);
IOcrSettingManager settingManager = ocrEngine.SettingManager;
/ /转储引擎支持的所有设置到一个文本文件在磁盘上
DumpAllSettings (settingManager);
/ / OCR图像文件
字符串tifFileName = Path.Combine (LEAD_VARS.ImagesDir,“Ocr1.tif”);
/ /文件格式保存
= {DocumentFormat DocumentFormat[]格式。文本,DocumentFormat。Pdf};
foreach(DocumentFormat格式在格式)
{
/ /生成输出文件的名字
字符串outFileName =路径。ChangeExtension (tifFileName DocumentWriter.GetFormatFileExtension(格式));
Console.WriteLine (“格式:{0}\ nOutput文件:{1}”、格式、outFileName);
intdetectFontStyles = 0;
boolrecognizeFontAttributes =假;
如果(格式= = DocumentFormat.Text)
{
/ /这是“文本”格式,我们不需要认识到字体属性,如粗体和斜体
/ /这将使识别过程更快
Console.WriteLine (“关掉字体属性”);
/ /保存旧的设置
detectFontStyles = settingManager.GetEnumValue (“Recognition.Fonts.DetectFontStyles”);
recognizeFontAttributes = settingManager.GetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”);
/ /关闭它们
settingManager.SetEnumValue (“Recognition.Fonts.DetectFontStyles”,“没有”);
settingManager.SetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”,假);
}
/ /显示我们正在使用的设置
Console.WriteLine (“认识到使用这些字体属性设置:“);
Console.WriteLine (“Recognition.Fonts。DetectFontStyles: {0}”settingManager.GetEnumValueAsString (“Recognition.Fonts.DetectFontStyles”));
Console.WriteLine (“Recognition.Fonts。RecognizeFontAttributes: {0}”settingManager.GetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”));
/ /识别和保存文件的输出格式
使用(IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument ())
{
/ /页面添加到文档中
IOcrPage ocrPage = ocrDocument.Pages.AddPage (tifFileName,零);
/ /识别页面
/ /注意,识别可以被称为没有调用AutoZone或手动添加区域。发动机将
/ /检查和自动auto-zones页面
ocrPage.Recognize (零);
/ /保存文件为PDF
ocrDocument。保存(outFileName、格式、零);
}
/ /重新设定初始设置
如果(格式= = DocumentFormat.Text)
{
Console.WriteLine (“重置初始设置”);
settingManager.SetEnumValue (“Recognition.Fonts.DetectFontStyles”,detectFontStyles);
settingManager.SetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”,recognizeFontAttributes);
}
}
/ /关闭引擎
/ /注意:调用处理也会自动关闭发动机如果它已经启动
ocrEngine.Shutdown ();
}
}
私人静态无效DumpAllSettings (IOcrSettingManager settingManager)
{
/ /写所有设置到一个磁盘文件中
字符串settingsFileName = Path.Combine (LEAD_VARS.ImagesDir,“Settings.txt”);
使用(StreamWriter作家= File.CreateText (settingsFileName))
{
writer.WriteLine (“设置”);
字符串[]settingNames = settingManager.GetSettingNames ();
foreach(字符串settingName在settingNames)
{
IOcrSettingDescriptor sd = settingManager.GetSettingDescriptor (settingName);
writer.WriteLine (“名字:{0}”,sd.Name);
writer.WriteLine (“ValueType: {0}”,sd.ValueType);
writer.WriteLine (“FriendlyName: {0}”,sd.FriendlyName);
开关(sd.ValueType)
{
情况下OcrSettingValueType.BeginCategory:
writer.WriteLine (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);
打破;
情况下OcrSettingValueType.Integer:
writer.WriteLine (“单位:{0}”,sd.Units);
writer.WriteLine (“IntegerMinimumValue: {0}”,sd.IntegerMinimumValue);
writer.WriteLine (“IntegerMaximumValue: {0}”,sd.IntegerMaximumValue);
打破;
情况下OcrSettingValueType.Enum:
writer.WriteLine (“EnumIsFlags: {0}”,sd.EnumIsFlags);
writer.WriteLine (“EnumMemberFriendlyNames”);
{
int[]值= sd.GetEnumMemberValues ();
字符串[]= sd.GetEnumMemberFriendlyNames名字();
为(int我= 0;我< values.Length;我+ +)
{
writer.WriteLine (“{0}:{1}”[我],名称,值[我]);
}
}
打破;
情况下OcrSettingValueType.Double:
writer.WriteLine (“单位:{0}”,sd.Units);
writer.WriteLine (“DoubleMinimumValue: {0}”,sd.DoubleMinimumValue);
writer.WriteLine (“DoubleMaximumValue: {0}”,sd.DoubleMaximumValue);
打破;
情况下OcrSettingValueType.Boolean:
打破;
情况下OcrSettingValueType.Character:
打破;
情况下OcrSettingValueType.String:
writer.WriteLine (“StringMaximumLength: {0}”,sd.StringMaximumLength);
writer.WriteLine (“StringNullAllowed: {0}”,sd.StringNullAllowed);
打破;
情况下OcrSettingValueType.Rectangle:
打破;
情况下OcrSettingValueType.EndCategory:
打破;
默认的:
打破;
}
}
}
}
静态类LEAD_VARS
{
公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;
公共常量字符串OcrLEADRuntimeDir =@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”;
}
进口Leadtools
进口Leadtools.Codecs
进口Leadtools.Ocr
进口Leadtools.Document.Writer
公共子OcrSettingManagerExample ()
创建一个实例的引擎
使用ocrEngine作为IOcrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD)
“启动引擎使用默认参数
ocrEngine.Startup (没有什么,没有什么,没有什么LEAD_VARS.OcrLEADRuntimeDir)
昏暗的settingManager作为IOcrSettingManager = ocrEngine.SettingManager
转储所有支持的设置这台发动机到一个文本文件在磁盘上
DumpAllSettings (settingManager)
OCR的图像文件
昏暗的tifFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Ocr1.tif”)
保存的文件格式
昏暗的格式作为= {DocumentFormat DocumentFormat ()。文本,DocumentFormat.Pdf}
为每一个格式作为DocumentFormat在格式
“生成输出文件的名字
昏暗的outFileName作为字符串=路径。ChangeExtension (tifFileName DocumentWriter.GetFormatFileExtension(格式)
Console.WriteLine (“格式:{0}”& vbLf &“输出文件:{1}”、格式、outFileName)
昏暗的detectFontStyles作为整数= 0
昏暗的recognizeFontAttributes作为布尔=假
如果格式= DocumentFormat.Text然后
”这是“文本”格式,我们不需要认识到字体属性,如粗体和斜体
“这将使识别过程更快
Console.WriteLine (“关掉字体属性”)
“保存旧的设置
detectFontStyles = settingManager.GetEnumValue (“Recognition.Fonts.DetectFontStyles”)
recognizeFontAttributes = settingManager.GetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”)
“现在关闭它们
settingManager.SetEnumValue (“Recognition.Fonts.DetectFontStyles”,“没有”)
settingManager.SetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”,假)
结束如果
“我们正在使用的设置
Console.WriteLine (“认识到使用这些字体属性设置:“)
Console.WriteLine (“Recognition.Fonts。DetectFontStyles: {0}”,
settingManager.GetEnumValueAsString (“Recognition.Fonts.DetectFontStyles”))
Console.WriteLine (“Recognition.Fonts。RecognizeFontAttributes: {0}”,
settingManager.GetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”))
的识别和保存文件的输出格式
使用ocrDocument作为IOcrDocument = ocrEngine.DocumentManager.CreateDocument ()
”页面添加到文档中
昏暗的ocrPage作为IOcrPage = ocrDocument.Pages.AddPage (tifFileName,没有什么)
“认识到页面
“注意,识别可以被称为没有调用AutoZone或手动添加区。发动机将
的检查和自动auto-zones页面
ocrPage.Recognize (没有什么)
“拯救我们PDF文档
ocrDocument。保存(outFileName、格式、没有什么)
结束使用
“重新设定初始设置
如果格式= DocumentFormat.Text然后
Console.WriteLine (“重置初始设置”)
settingManager.SetEnumValue (“Recognition.Fonts.DetectFontStyles”detectFontStyles)
settingManager.SetBooleanValue (“Recognition.Fonts.RecognizeFontAttributes”recognizeFontAttributes)
结束如果
下一个
“关闭发动机
注意:调用处理也将自动关闭发动机如果它已经启动
ocrEngine.Shutdown ()
结束使用
结束子
私人共享子DumpAllSettings (settingManager作为IOcrSettingManager)
所有的设置写入磁盘文件中
昏暗的settingsFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Settings.txt”)
使用作家作为StreamWriter = File.CreateText (settingsFileName)
writer.WriteLine (“设置”)
昏暗的settingNames作为字符串()= settingManager.GetSettingNames ()
为每一个settingName作为字符串在settingNames
昏暗的sd作为IOcrSettingDescriptor = settingManager.GetSettingDescriptor (settingName)
writer.WriteLine (“名字:{0}”sd.Name)
writer.WriteLine (“ValueType: {0}”sd.ValueType)
writer.WriteLine (“FriendlyName: {0}”sd.FriendlyName)
选择情况下sd.ValueType
情况下OcrSettingValueType.BeginCategory
writer.WriteLine (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”)
退出选择
情况下OcrSettingValueType。整数]
writer.WriteLine (“单位:{0}”sd.Units)
writer.WriteLine (“IntegerMinimumValue: {0}”sd.IntegerMinimumValue)
writer.WriteLine (“IntegerMaximumValue: {0}”sd.IntegerMaximumValue)
退出选择
情况下OcrSettingValueType。枚举]
writer.WriteLine (“EnumIsFlags: {0}”sd.EnumIsFlags)
writer.WriteLine (“EnumMemberFriendlyNames”)
如果真正的然后
昏暗的值作为整数()= sd.GetEnumMemberValues ()
昏暗的的名字作为字符串()= sd.GetEnumMemberFriendlyNames ()
为我作为整数= 0来值。长度- 1
writer.WriteLine (“{0}:{1}”名称(i),值(i))
下一个
结束如果
退出选择
情况下OcrSettingValueType。双]
writer.WriteLine (“单位:{0}”sd.Units)
writer.WriteLine (“DoubleMinimumValue: {0}”sd.DoubleMinimumValue)
writer.WriteLine (“DoubleMaximumValue: {0}”sd.DoubleMaximumValue)
退出选择
情况下OcrSettingValueType。布尔]
退出选择
情况下OcrSettingValueType.Character
退出选择
情况下OcrSettingValueType。字符串]
writer.WriteLine (“StringMaximumLength: {0}”sd.StringMaximumLength)
writer.WriteLine (“StringNullAllowed: {0}”sd.StringNullAllowed)
退出选择
情况下OcrSettingValueType.Rectangle
退出选择
情况下OcrSettingValueType.EndCategory
退出选择
情况下其他的
退出选择
结束选择
下一个
结束使用
结束子
公共NotInheritable类LEAD_VARS
公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”
公共常量OcrLEADRuntimeDir作为字符串=“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”
结束类
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。