←选择平台

IOcrAutoRecognizeManager接口

总结
为适合无人值守识别的OCR提供一次“发射和忘记”方法的支持。
语法
c#
VB
objective - c
c++
Java
公共接口IOcrAutoRecognizeManager
公共接口IOcrAutoRecognizeManager
@接口LTOcrAutoRecognizeManagerJobError: NSObject
公共OcrAutoRecognizeManager
公共接口IOcrAutoRecognizeManager
讲话

对象的实例IOcrAutoRecognizeManagerIOcrEngine通过IOcrEngine。AutoRecognizeManager财产。

该接口的成员允许您从磁盘上的映像文件创建文档,其中包含可选的进度和状态监视器。

您可以使用运行方法将磁盘上的图像在一行代码中转换为具有此方法支持的任何文档格式的最终文档IOcrEngine

属性也可以创建作业CreateJob方法,然后同步运行它们RunJob或者异步通过RunJobAsync

IOcrAutoRecognizeManager接口还具有以下选项可与运行RunJob而且RunJobAsync方法:

成员 描述
PreprocessPageCommands
的数组。OcrAutoPreprocessPageCommand用于控制在识别之前对每页文档执行什么自动预处理操作的项。
JobErrorMode
能够在非严重错误上恢复。例如,如果源文档有一个无法识别的页面。违规页面将作为图形图像添加到最终文档中,识别将继续到下一页。
JobStartedJobProgressJobOperation而且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和多个IOcrDocumentIOcrAutoRecognizeJob每个都有自己的专用线程。有关更多信息,请参阅多线程与LEADTOOLS OCR

例子

本例将源文件夹中的TIF文件转换为目标文件夹中的PDF文件

有关如何在具有同步和中止支持的多线程中同时运行多个作业的示例,请参阅RunJob

c#
VB
使用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.ProcessorCountocrAutoRecognizeManager。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字符串imageFileimageFiles)//构造文档文件的名称字符串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接口(字符串) =的列表(字符串)()作为整数= 14imageFiles.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.ProcessorCountocrAutoRecognizeManager。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)下一个结束使用结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串“C: \ LEADTOOLS21 \ Resources \图片”公共常量OcrLEADRuntimeDir作为字符串“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”结束
需求

目标平台

Leadtools。光学字符识别作为sembly
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。