本教程展示了如何创建一个c# Windows WinForms应用程序设置铅OCR OCR引擎的过程。
概述 | |
---|---|
总结 | 本教程介绍了如何设置铅OCR引擎在c# Windows WinForms应用程序。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(10 KB) |
平台 | c# Windows WinForms应用程序 |
IDE | Visual Studio 2017中,2019年 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
|
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证和显示图像的图像查看器教程,在工作之前将图像转换为可搜索PDF OCR - WinForms c#教程。
从项目中创建的副本显示图像的图像查看器教程。如果项目不可用,按照这个教程中的步骤创建它。加载图像保存为JPEG的代码不需要从这个教程在本教程中,所以它可以省略。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包和他们的依赖关系:
Leadtools.Ocr
Leadtools.Viewer.Controls.WinForms
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Tif.dll
Leadtools.Codecs.Fax.dll
Leadtools.Codecs.Jb2
Leadtools.Controls.WinForms.dll
Leadtools.Document.Writer.dll
Leadtools.Ocr.dll
Leadtools.Ocr.LEADEngine.dll
对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS NuGet和本地引用设置许可中会详细介绍添加引用和设置一个许可证教程。
在解决方案资源管理器,打开Form1.cs
。在设计器中右键单击并选择视图代码,或者按F7,将背后的代码形式。确保以下使用全局变量声明和补充道。
/ /添加这些“使用”块顶部
使用Leadtools.Ocr;
使用Leadtools.Document.Writer;
/ /添加全局变量
私人IOcrEngine _ocrEngine;
私人IOcrPage _ocrPage;
内添加代码Form1_Load
事件处理程序初始化IOcrEngine
,所以它变成了如下:
私人无效Form1_Load (对象发送方的EventArgs e)
{
/ /初始化图像查看器对象
_view =新imageview ();
_view。码头= DockStyle.Fill;
_view。背景色= Color.DarkGray;
_viewer.Zoom (ControlSizeMode。FitWidth, 1.0,新LeadPoint ());
Controls.Add (_view);
_viewer.BringToFront ();
/ /初始化OCR引擎
_ocrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD);
/ /启动引擎
_ocrEngine.Startup (零,零,零,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);
}
内添加代码openToolStripMenuItem_Click
事件处理程序初始化IOcrPage
在图像查看器中加载:
私人无效openToolStripMenuItem_Click (对象发送方的EventArgs e)
{
试一试
{
使用(RasterCodecs编解码器=新RasterCodecs ())
{
OpenFileDialog dlg =新OpenFileDialog ();
了解地理。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;
如果(dlg.ShowDialog (这)= = DialogResult.OK)
{
_view。形象= codecs.Load (dlg.FileName);
}
}
/ /创建IOcrPage加载图像
_ocrPage = _ocrEngine.CreatePage (_view。形象,OcrImageSharingMode.AutoDispose);
}
抓(异常交货)
{
MessageBox.Show (ex.ToString ());
}
}
在解决方案资源管理器再一次打开Form1.cs
。在设计器中,添加一个新的子菜单到文件菜单的MenuStrip。设置这个新菜单项的文本保存为pdf搜索。你可以把新项目的名称saveAsSearchablePDFToolStripMenuItem_Click
。
双击保存为PDF搜索
菜单项来编辑它的事件处理程序。添加以下代码:
私人无效saveAsSearchablePDFToolStripMenuItem_Click (对象发送方的EventArgs e)
{
试一试
{
/ /创建一个文档
使用(IOcrDocument ocrDocument = _ocrEngine.DocumentManager.CreateDocument (零,OcrCreateDocumentOptions.AutoDeleteFile))
{
/ /创建IOcrPage加载图像
_ocrPage = _ocrEngine.CreatePage (_view。形象,OcrImageSharingMode.AutoDispose);
/ /识别文本
_ocrPage.Recognize (零);
/ /添加页面
ocrDocument.Pages.Add (_ocrPage);
/ /保存为PDF
SaveFileDialog saveDlg =新SaveFileDialog ();
saveDlg。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;
saveDlg。过滤器=“Adobe可移植文档格式| * . pdf”;
如果(saveDlg.ShowDialog (这)! = DialogResult.OK)
返回;
ocrDocument.Save (saveDlg。文件Name, DocumentFormat.Pdf,零);
MessageBox.Show ($“OCR输出保存到{saveDlg.FileName}”);
}
}
抓(异常交货)
{
MessageBox.Show (ex.ToString ());
}
}
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确之后,应用程序运行并能够加载和显示任何图片上面支持的编解码器过滤器。当保存为PDF搜索压,应用程序识别加载图像中的文本(OCR1。TIF)并保存到指定位置(如搜索PDF)。
本教程展示了如何创建一个简单的Windows窗体OCR应用程序初始化铅OCR引擎,显示指定的输入文件,作为一个可搜索的PDF输出图像。