←选择平台

启动方法

总结
启动OCR引擎。
语法
c#
VB
objective - c
c++
Java
启动(_按值传递rasterCodecs作为RasterCodecs, _按值传递documentWriter作为DocumentWriter, _按值传递workDirectory作为字符串, _按值传递startupParameters作为字符串_
- (BOOL)startup:(nullable LTRasterCodecs *)rasterCodecsdocumentWriter:(可空的LTDocumentWriter *)documentWriterworkDirectory:(nullable NSString *)workDirectory引擎目录:(nullable NSString *)引擎目录错误:错误(NSError * *)

参数

rasterCodecs
的可选实例RasterCodecs对象,在从引擎内部的磁盘加载映像文件时使用。的初始化实例RasterCodecs被使用当加载光栅图像文件时,OCR引擎将在内部使用相同的对象。否则,通过没有什么在VB中)和IOcrEngine将创建和使用自己的版本RasterCodecs在需要的时候。指RasterCodecsInstance有关OCR引擎在其生命周期中如何使用此参数的更多信息,请参阅OCR引擎和光栅编解码器/DocumentWriter使用

documentWriter
的可选实例DocumentWriter对象在将OCR文档保存到引擎内部的磁盘时使用。的初始化实例DocumentWriter被使用当将OCR文档保存到磁盘时,OCR引擎将在内部使用相同的对象。否则,通过没有什么在VB中)和IOcrEngine将创建和使用自己的版本DocumentWriter在需要的时候。指DocumentWriterInstance有关OCR引擎在其生命周期中如何使用此参数的更多信息,请参阅OCR引擎和光栅编解码器/DocumentWriter使用

workDirectory
引擎保存临时文件时使用的目录的可选路径。的IOcrEngine对象将在识别和文档保存过程中创建各种临时文件。它将使用传入的路径workDirectory作为创建这些临时文件的位置。你可以通过没有什么)来让引擎选择当前登录用户的临时目录(临时).

在这两种情况下,当前启动的工作目录的值IOcrEngine可以通过WorkDirectory财产。

引擎会自动删除所有创建的临时文件。但是,如果发生意外错误(例如,未处理的异常),在应用程序退出后,一些临时文件可能仍然驻留在工作目录中。典型的应用程序可能在应用程序路径中使用自定义目录,并在调用之前手动删除可能驻留在该目录中的任何文件启动如果应用程序的前一个实例异常退出。

的值workDirectory参数不是没有什么(在VB中),那么它必须引用系统中存在的有效目录,并且创建引擎的进程必须具有足够的访问权限来读取、写入和删除该目录中的文件。

startupParameters
可选启动参数。该参数的取值取决于该类型IOcrEngine如下:

引擎 startupParameters
OcrEngineType。引领 包含OCR引擎文件的文件夹的路径。如果你通过了没有什么在VB中)到startupParameters,那么LEADTOOLS OCR引擎将在指定的运行时目录中查找这些额外的文件。当您准备打包应用程序时,您可能希望更改LEADTOOLS OCR引擎查找这些额外文件的位置。你可以用这个性质来做。方法之前设置所需的路径启动方法。
OcrEngineType。阿拉伯语 包含OCR引擎文件的文件夹的路径。如果你通过了没有什么在VB中)到startupParameters,那么LEADTOOLS OCR引擎将在指定的运行时目录中查找这些额外的文件。当您准备打包应用程序时,您可能希望更改LEADTOOLS OCR引擎查找这些额外文件的位置。你可以用这个性质来做。方法之前设置所需的路径启动方法。
OcrEngineType。OmniPage 包含OCR引擎文件的文件夹的路径。如果你通过了没有什么在VB中)到startupParameters,那么LEADTOOLS OCR引擎将在指定的运行时目录中查找这些额外的文件。当您准备打包应用程序时,您可能希望更改LEADTOOLS OCR引擎查找这些额外文件的位置。你可以用这个性质来做。方法之前设置所需的路径启动方法。
讲话

启动方法中的任何其他方法或属性必须在调用之前调用IOcrEngine

检查引擎是否已启动,请使用IsStarted财产。

你一定要打电话关闭关闭引擎并释放所使用的内存和资源。

你可以打电话给启动方法多次调用,则只有第一次调用将启动引擎,而后续调用只会增加内部计数器。你一定要打电话关闭为每一个启动调用。

IOcrEngine接口实现IDisposable。强烈建议调用Dispose(或使用使用c#或使用语句)创建IOcrEngine实例。的处理方法将自动关闭已启动的引擎。

运行时目录

LEADTOOLS默认设置将OCR运行时文件安装到以下目录中:

OCR引擎 目录
铅(OcrEngineType。引领 本\ \ OcrLEADRuntime常见
全能网页(OcrEngineType。OmniPage 本\ \ OcrOmniPageRuntime常见
阿拉伯语全能网页(OcrEngineType。OmniPageArabic 本\ \ OcrOmniPageRuntime常见

要启动特定的OCR引擎,请在属性中传递相应的目录名startupParameters参数:

c#

//启动LEAD OCR引擎,将路径传递给LEADTOOLS Setup安装文件夹。ocreginengine = ocreginmanager . createengine (ocregintype . lead);ocrEngine。启动(@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”);

或者如下面的示例所示,应用程序可以将这些文件夹复制到应用程序包中,并传递文件夹名称。

基于OmniPage的引擎

对于基于OmniPage的引擎,使用目录的物理路径是唯一支持的启动引擎的方式。通过随着startupParameters参数启动是不允许的。

导致引擎

对于LEAD引擎,工具包支持目录的物理路径,并在用户经过时自动检测运行时文件的位置随着startupParameters参数启动

  1. 在应用程序bin目录中。

当应用程序启动时,它将检查调用者EXE所在文件夹中的“LEADTOOLS/OcrLEADRuntime”目录。例如,这可能是应用程序在磁盘上的布局:

app.exeLeadtools.dllLeadtools.Codecs.dllLeadtools.Ocr.dllLeadtools.Ocr.LEADEngine.dllLEADTOOLS \ OcrLEADRuntime \ LEAD.en.binLEADTOOLS \ OcrLEADRuntime \ LEAD.en.bin2

这是在Visual Studio中添加LEADTOOLS OCR库作为Nuget时使用的默认方法。它可以在任何开发环境中模拟,通过将LEAD OCR运行时文件作为“资源”添加到项目中,并使用“复制输出”特性。

  1. IOcrEngine包括IOcrEngine。RuntimeFileCallback事件,可用于:

    • 在运行时将引擎文件的搜索和加载重定向到指定目录
    • 从内存流加载引擎文件

这种支持在一些不支持资源文件物理路径的环境(如Android)中非常有用。指IOcrEngine。RuntimeFileCallback获取更多信息和示例。

例子

下面的示例假设您将OCR引擎运行时文件复制到C:\MyApp\ OCR。

c#
VB
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Ocr;使用Leadtools.Document.Writer;公共无效StartupEngineExample (){//使用RasterCodecs加载图像文件//注意:你可以让引擎直接加载图像文件,如其他示例所示RasterCodecs =RasterCodecs ();RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.tif”));//假设你复制了引擎运行时文件到C:\MyApp\Ocr字符串engineDir =@“C: \ MyApp \ Ocr”//将引擎工作目录存储到应用程序中的路径中字符串workDir =@ " C: \ MyApp \ OcrTemp”//删除工作目录下的所有文件,以防上一个版本的应用程序异常退出//引擎没有机会清理所有的临时文件(如果有的话)目录中。删除(workDir,真正的);//重新创建工作目录Directory.CreateDirectory (workDir);//创建引擎实例使用(ocreginengine = ocreginmanager . createengine (ocregintype . lead)){//显示引擎尚未启动控制台。WriteLine ("在调用Startup之前,IsStarted = "+ ocrEngine.IsStarted);//使用我们的参数启动引擎//因为我们已经有了一个RasterCodecs对象,我们可以重用它来节省内存和资源ocrEngine。启动(编解码器,, workDir, engineDir);//确保引擎正在使用我们的工作目录控制台。WriteLine ("传入的工作目录是{0},启动后的工作目录的值是{1}",工作目录,ocreengine .工作目录);//显示引擎已经正常启动控制台。WriteLine ("调用Startup后,EngineType是{0},IsStarted = {1}", ocrEngine。引擎Type, ocrEngine.IsStarted);//确保引擎使用我们自己的RasterCodecs版本调试。作为sert(codecs == ocrEngine.RasterCodecsInstance);//从栅格图像创建一个页面作为页面到文档IOcrPage = ocregengine。CreatePage(图片、OcrImageSharingMode.AutoDispose);//图片属于页面,并将在页面被释放时被释放//识别页面//注意,可以在不调用AutoZone或手动添加区域的情况下调用recognition。发动机将//检查并自动设置页面区域ocrPage。识别();//创建基于文件的文档使用ocreengine . documentmanager . createdocument (), OcrCreateDocumentOptions.AutoDeleteFile)){//添加页面ocrDocument.Pages.Add (ocrPage);//不再需要该页面ocrPage.Dispose ();//保存文件为PDF格式字符串pdfFileName = Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.pdf”);ocrDocument。保存(pdfFileName DocumentFormat.Pdf,);}//关闭引擎//注意:如果引擎已经启动,调用Dispose也会自动关闭引擎ocrEngine.Shutdown ();}}静态LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”}
进口Leadtools进口Leadtools。编解码器进口Leadtools。光学字符识别进口Leadtools.Document.Writer公共StartupEngineExample ()使用RasterCodecs来加载图像文件注意:您可以让引擎直接加载图像文件,如其他示例所示昏暗的编解码器作为RasterCodecs ()昏暗的图像作为RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.tif”))假设你复制了引擎运行时文件到C:\MyApp\Ocr昏暗的engineDir作为字符串“C: \ MyApp \ Ocr”将引擎工作目录存储到应用程序中的某个路径中昏暗的workDir作为字符串“C: \ MyApp \ OcrTemp”删除工作目录下的所有文件,以防以前版本的应用程序异常退出引擎没有机会清理所有的临时文件(如果有的话)目录中。删除(workDir,真正的重新创建工作目录Directory.CreateDirectory (workDir)创建引擎的一个实例使用ocrEngine作为ocregengine = ocregginmanager . createengine (ocreggintype . lead)显示引擎还没有启动控制台。WriteLine ("在调用Startup之前,IsStarted = "& ocrEngine.IsStarted)使用我们的参数启动引擎因为我们已经有了一个RasterCodecs对象,我们可以重复使用它来节省内存和资源ocrEngine。启动(编解码器,没有什么, workDir, engineDir)确保引擎正在使用我们的工作目录控制台。WriteLine ("传入的工作目录是{0},启动后的工作目录的值是{1}",工作目录,ocreengine。“显示引擎已正常启动控制台。WriteLine ("调用Startup后,EngineType是{0},IsStarted = {1}", ocrEngine。引擎Type, ocrEngine.IsStarted)确保引擎使用我们自己的RasterCodecs版本调试。作为sert(codecsocrEngine.RasterCodecsInstance)从光栅图像创建一个页面作为页面到文档昏暗的ocrPage作为IOcrPage = ocregengine。OcrImageSharingMode.AutoDispose CreatePage(图片)图像属于该页,并将在该页被处置时被处置认出这一页注意,可以在不调用AutoZone或手动添加区域的情况下调用recognition。发动机将'检查并自动对页面进行自动分区ocrPage。识别(没有什么创建一个基于文件的文档使用ocrDocument作为IOcrDocument = ocreengine . documentmanager . createdocument (没有什么OcrCreateDocumentOptions.AutoDeleteFile)添加页面ocrDocument.Pages.Add (ocrPage)“不再需要这页纸了ocrPage.Dispose ()将我们的文档保存为PDF格式昏暗的pdfFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Ocr1.pdf”ocrDocument。保存(pdfFileName DocumentFormat.Pdf,没有什么结束使用关掉引擎注意:如果引擎已经启动,调用Dispose也会自动关闭引擎ocrEngine.Shutdown ()结束使用结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串“C: \ LEADTOOLS21 \ Resources \图片”结束
需求

目标平台

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