子启动(_
按值传递rasterCodecs作为RasterCodecs, _
按值传递documentWriter作为DocumentWriter, _
按值传递workDirectory作为字符串, _
按值传递startupParameters作为字符串_
)
- (BOOL)startup:(nullable LTRasterCodecs *)rasterCodecs
documentWriter:(可空的LTDocumentWriter *)documentWriter
workDirectory:(nullable NSString *)workDirectory
引擎目录:(nullable NSString *)引擎目录
错误:错误(NSError * *)
无效启动(
RasterCodecs ^rasterCodecs,
DocumentWriter ^documentWriter,
字符串^workDirectory,
字符串^startupParameters
)
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的引擎,使用目录的物理路径是唯一支持的启动引擎的方式。通过零
随着startupParameters参数启动是不允许的。
对于LEAD引擎,工具包支持目录的物理路径,并在用户经过时自动检测运行时文件的位置零
随着startupParameters参数启动:
当应用程序启动时,它将检查调用者EXE所在文件夹中的“LEADTOOLS/OcrLEADRuntime”目录。例如,这可能是应用程序在磁盘上的布局:
app.exe
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Ocr.dll
Leadtools.Ocr.LEADEngine.dll
LEADTOOLS \ OcrLEADRuntime \ LEAD.en.bin
LEADTOOLS \ OcrLEADRuntime \ LEAD.en.bin2
这是在Visual Studio中添加LEADTOOLS OCR库作为Nuget时使用的默认方法。它可以在任何开发环境中模拟,通过将LEAD OCR运行时文件作为“资源”添加到项目中,并使用“复制输出”特性。
IOcrEngine包括IOcrEngine。RuntimeFileCallback事件,可用于:
这种支持在一些不支持资源文件物理路径的环境(如Android)中非常有用。指IOcrEngine。RuntimeFileCallback获取更多信息和示例。
下面的示例假设您将OCR引擎运行时文件复制到C:\MyApp\ OCR。
使用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(codecs是ocrEngine.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 ()
结束使用
结束子
公共NotInheritable类LEAD_VARS
公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”
结束类
帮助收藏
光栅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点
感谢您的反馈!
请重新填写表格以开始新的聊天。
所有代理当前都处于离线状态。
聊天时间:
星期一至星期五
上午8:30 -下午6点
要联系我们,请填写此表格,我们将通过电子邮件与您联系。