公共接口IOcrAutoRecognizeManager
公共接口IOcrAutoRecognizeManager
@接口LTOcrAutoRecognizeManagerJobError: NSObject
公共类OcrAutoRecognizeManager
公共接口类IOcrAutoRecognizeManager
对象的实例IOcrAutoRecognizeManager由IOcrEngine通过IOcrEngine。AutoRecognizeManager财产。
该接口的成员允许您从磁盘上的映像文件创建文档,其中包含可选的进度和状态监视器。
您可以使用运行方法将磁盘上的图像在一行代码中转换为具有此方法支持的任何文档格式的最终文档IOcrEngine.
属性也可以创建作业CreateJob方法,然后同步运行它们RunJob或者异步通过RunJobAsync.
的IOcrAutoRecognizeManager接口还具有以下选项可与运行,RunJob而且RunJobAsync方法:
成员 | 描述 |
---|---|
PreprocessPageCommands |
的数组。OcrAutoPreprocessPageCommand用于控制在识别之前对每页文档执行什么自动预处理操作的项。 |
JobErrorMode |
能够在非严重错误上恢复。例如,如果源文档有一个无法识别的页面。违规页面将作为图形图像添加到最终文档中,识别将继续到下一页。 |
JobStarted,JobProgress,JobOperation而且JobCompleted事件 | 事件,用于跟踪同步和异步作业何时启动、正在运行和完成。 |
AbortAllJobs |
中止所有正在运行和挂起的作业。 |
EnableTrace |
将调试消息输出到标准的. net跟踪侦听器。 |
MaximumPagesBeforeLtd |
重要的:不被LEADTOOLS OCR模块- LEAD引擎使用。 如果引擎不支持,则添加对不限页数的文档的转换支持。对包含大量页面(10页或更多)的文档进行OCR识别操作可能会导致内存不足错误。 所有LEADTOOLS OCR引擎都支持将中间识别结果保存到临时LTD文件(DocumentFormat。有限公司).后续页面的结果将被追加到这个临时文件。当文档的所有页面都已被识别时,引擎将临时LTD文件转换为所需的输出格式。 的OCR模块——LEAD引擎通过使用基于文件的文档在内部处理这个操作,并且一次不会在内存中加载超过一个页面,也不会使用的值MaximumPagesBeforeLtd. 对于其他的引擎,MaximumPagesBeforeLtd属性定义整体处理的最大页数。例如,如果原始文档有20页,该属性的值为8,引擎将识别前8页并将结果保存到一个临时文件中,识别后8页并附加结果,最后,识别最后4页并将临时文档转换为最终格式。 |
MaximumThreadsPerJob |
每个作业使用的最大线程数。你可以指导IOcrAutoRecognizeManager识别文件时使用所有可用的cpu /核。这将大大减少完成OCR操作所需的时间。 LEADTOOLS OCR模块- LEAD引擎使用系统线程池,不需要设置线程数量。值1将禁用线程,任何其他值将被视为“使用多线程”。 |
一些OCR引擎类型支持通过创建一个多线程文档来创建多线程文档IOcrEngine和多个IOcrDocument或IOcrAutoRecognizeJob每个都有自己的专用线程。有关更多信息,请参阅多线程与LEADTOOLS OCR.
本例将源文件夹中的TIF文件转换为目标文件夹中的PDF文件
有关如何在具有同步和中止支持的多线程中同时运行多个作业的示例,请参阅RunJob.
使用Leadtools;
使用Leadtools.Codecs;
使用Leadtools.Ocr;
使用Leadtools.Document.Writer;
使用Leadtools.Forms.Common;
使用Leadtools.WinForms;
公共无效OcrAutoRecognizeManagerExample ()
{
控制台。WriteLine (“准备源目录和目标目录……”);
字符串sourceDirectory = LEAD_VARS.ImagesDir;
字符串destinationDirectory = Path.Combine(LEAD_VARS.ImagesDir,“AutoRecognizeManagerExample”);
//准备输出目录
如果(! Directory.Exists (destinationDirectory))
{
Directory.CreateDirectory (destinationDirectory);
}
// OCR一些图片从源目录到目标目录:
IList <字符串> imageFiles =新<列表字符串> ();
为(intI = 1;I <= 4;我+ +)
{
imageFiles.Add (Path.Combine (sourceDirectory,字符串.Format (“Ocr {0} .tif”,我)));
}
控制台。WriteLine (“创建引擎实例……”);
//创建引擎实例
使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead))
{
//使用默认参数启动引擎
控制台。WriteLine (“发动引擎……”);
ocrEngine。启动(零,零,零, LEAD_VARS.OcrLEADRuntimeDir);
IOcrAutoRecognizeManager ocrAutoRecognizeManager = ocreengine . autorecognizemanager;
//如果文档超过4页,使用LTD作为临时格式以节省内存
ocrAutoRecognizeManager。MaximumPagesBeforeLtd=4;
//使用当前机器的最大cpu /核数来加速识别
//传递0或System.Environment.ProcessorCount
ocrAutoRecognizeManager。MaximumThreadsPerJob = 0;
//在识别之前,将所有页面倾斜并自动定向
ocrAutoRecognizeManager.PreprocessPageCommands.Clear ();
ocrAutoRecognizeManager.PreprocessPageCommands.Add (OcrAutoPreprocessPageCommand.Deskew);
ocrAutoRecognizeManager.PreprocessPageCommands.Add (OcrAutoPreprocessPageCommand.Rotate);
//使用图像/文本选项创建pdf文件
PdfDocumentOptions = ocreengine . documentwriterinstance . getoptions (DocumentFormat.Pdf)作为PdfDocumentOptions;
pdfOptions。ImageOverText =真正的;
ocrEngine.DocumentWriterInstance.SetOptions (DocumentFormat.Pdf pdfOptions);
//遍历源目录下的所有TIF文件,转换为目标目录下的PDF文件
foreach(字符串imageFile在imageFiles)
{
//构造文档文件的名称
字符串documentFileName =路径。结合(destinationDirectory Path.GetFileNameWithoutExtension (imageFile));
documentFileName =路径。ChangeExtension (documentFileName“pdf”);
// OCR文件
控制台。WriteLine (处理“{0}”, imageFile);
ocrAutoRecognizeManager。运行(我mageFile, documentFileName, DocumentFormat.Pdf,零,零);
控制台。WriteLine (“保存:{0}”, documentFileName);
}
}
}
静态类LEAD_VARS
{
公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;
公共常量字符串OcrLEADRuntimeDir =@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”;
}
进口Leadtools
进口Leadtools。编解码器
进口Leadtools。光学字符识别
进口Leadtools.Document.Writer
进口Leadtools.Forms.Common
进口Leadtools。WinForms
公共子OcrAutoRecognizeManagerExample ()
控制台。WriteLine (“准备源目录和目标目录……”)
昏暗的sourceDirectory作为字符串= LEAD_VARS。ImagesDir
昏暗的destinationDirectory作为字符串= Path.Combine (LEAD_VARS.ImagesDir“AutoRecognizeManagerExample”)
'准备输出目录
如果不Directory.Exists (destinationDirectory)然后
Directory.CreateDirectory (destinationDirectory)
结束如果
' OCR一些图片从源目录到目标目录:
昏暗的imageFiles作为IList接口(字符串) =新的列表(字符串)()
为我作为整数= 1来4
imageFiles.Add (Path.Combine (sourceDirectory,字符串.Format (“Ocr {0} .tif”我)))
下一个
控制台。WriteLine (“创建引擎实例……”)
创建引擎的一个实例
使用ocrEngine作为IOcrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead)
使用默认参数启动引擎
控制台。WriteLine (“发动引擎……”)
ocrEngine。启动(没有什么,没有什么,没有什么LEAD_VARS.OcrLEADRuntimeDir)
昏暗的ocrAutoRecognizeManager作为IOcrAutoRecognizeManager = ocrEngine。AutoRecognizeManager
如果文件超过4页,可以使用LTD作为临时格式以节省内存
ocrAutoRecognizeManager。MaximumPagesBeforeLtd=4
“使用当前机器的最大cpu /核数来加快识别速度
'传递0或System.Environment.ProcessorCount
ocrAutoRecognizeManager。MaximumThreadsPerJob = 0
“在识别之前调整所有页面的方向并自动定位
ocrAutoRecognizeManager.PreprocessPageCommands.Clear ()
ocrAutoRecognizeManager.PreprocessPageCommands.Add (OcrAutoPreprocessPageCommand.Deskew)
ocrAutoRecognizeManager.PreprocessPageCommands.Add (OcrAutoPreprocessPageCommand.Rotate)
用图像/文本选项创建pdf文件
昏暗的pdfOptions作为PdfDocumentOptions = TryCast(ocreengine . documentwriterinstance . getoptions (DocumentFormat.Pdf), PdfDocumentOptions)
pdfOptions。ImageOverText =真正的
ocrEngine.DocumentWriterInstance.SetOptions (DocumentFormat.Pdf pdfOptions)
在源目录中遍历所有TIF文件,在目标目录中将其转换为PDF文件
为每一个imageFile作为字符串在imageFiles
构造文档文件的名称
昏暗的documentFileName作为字符串=路径。结合(destinationDirectory Path.GetFileNameWithoutExtension (imageFile))
documentFileName =路径。ChangeExtension (documentFileName“pdf”)
' OCR文件
控制台。WriteLine (处理“{0}”imageFile)
ocrAutoRecognizeManager。运行(我mageFile, documentFileName, DocumentFormat.Pdf,没有什么,没有什么)
控制台。WriteLine (“保存:{0}”documentFileName)
下一个
结束使用
结束子
公共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
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。