本教程展示了如何创建一个c# Windows WinForms应用程序来设置LEAD OCR引擎来处理OCR。
概述 | |
---|---|
总结 | 本教程介绍如何在c# Windows WinForms应用程序中设置LEAD OCR引擎。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(10kb) |
平台 | Windows WinForms应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License和在图像查看器中显示图像教程,在工作之前用OCR - WinForms c#将图像转换为可搜索的PDF教程。
中创建的项目的副本开始在图像查看器中显示图像教程。如果项目不可用,请按照该教程中的步骤创建它。本教程中不需要将该教程中加载的图像保存为JPEG格式的代码,因此可以省略。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:
如果使用NuGet引用,本教程需要以下NuGet包及其依赖项:
Leadtools。光学字符识别
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
有关特定格式所需的Codec dll的完整列表,请参阅文件格式支持.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
在解决方案资源管理器,打开Form1.cs
.在设计器中右键单击并选择视图代码,或按F7,以显示表单后面的代码。确保添加以下using语句和全局变量。
//将这些添加到顶部的"using"块
使用Leadtools.Ocr;
使用Leadtools.Document.Writer;
//添加全局变量
私人IOcrEngine _ocrEngine;
私人IOcrPage _ocrPage;
在Form1_Load
事件处理程序来初始化IOcrEngine
,其结果如下:
私人无效Form1_Load (对象发送者,EventArgs
{
初始化图像查看器对象
_view =新imageview ();
_view。Dock = DockStyle.Fill;
_view。BackColor = color .深灰色;
_viewer.Zoom (ControlSizeMode。FitWidth, 1.0,新LeadPoint ());
Controls.Add (_view);
_viewer.BringToFront ();
//初始化OCR引擎
_ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead);
//启动引擎
_ocrEngine。启动(零,零,零,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);
}
在openToolStripMenuItem_Click
事件处理程序来初始化IOcrPage
图像加载到查看器后:
私人无效openToolStripMenuItem_Click (对象发送者,EventArgs
{
试一试
{
使用(RasterCodecs codecs =新RasterCodecs ())
{
OpenFileDialog dlg =新OpenFileDialog ();
了解地理。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;
如果(了解。ShowDialog (这) == dialgresult . ok)
{
_view。Image = codecs.Load(dg . filename);
}
}
//从加载的图像创建IOcrPage
_ocrPage = _occreengine . createpage (_viewer. createpage)形象,OcrImageSharingMode.AutoDispose);
}
抓(异常交货)
{
MessageBox.Show (ex.ToString ());
}
}
在解决方案资源管理器,再次开放Form1.cs
.在设计器中,添加一个new子菜单到文件菜单中的MenuStrip.设置这个新的菜单项的文本另存为可搜索&PDF.您可以保留新项目的名称为saveAsSearchablePDFToolStripMenuItem_Click
.
双击另存为可搜索PDF
菜单项编辑其事件处理程序。在其中添加如下代码:
私人无效saveAsSearchablePDFToolStripMenuItem_Click (对象发送者,EventArgs
{
试一试
{
//创建一个文档
使用(IOcrDocument ocrDocument = _ocreengine . documentmanager . createdocument (零, OcrCreateDocumentOptions.AutoDeleteFile))
{
//从加载的图像创建IOcrPage
_ocrPage = _occreengine . createpage (_viewer. createpage)形象,OcrImageSharingMode.AutoDispose);
//识别文本
_ocrPage。识别(零);
//添加页面
ocrDocument.Pages.Add (_ocrPage);
//保存为PDF格式
SaveFileDialog saveDlg =新SaveFileDialog ();
saveDlg。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;
saveDlg。过滤器=" adobeportable Document Format|*.pdf";
如果(saveDlg。ShowDialog (这) != dialgresult . ok)
返回;
ocrDocument.Save (saveDlg。文件Name, DocumentFormat.Pdf,零);
对话框。显示($“OCR输出保存到{saveDlg。文件名}”);
}
}
抓(异常交货)
{
MessageBox.Show (ex.ToString ());
}
}
按下运行项目F5,或选择调试->开始调试.
如果正确地遵循了这些步骤,应用程序将运行,并能够加载和显示上述编解码器过滤器支持的任何图像。当另存为可搜索PDF时,应用程序识别所加载图像中的文本(例如,OCR1.TIF)并将其保存到指定位置(作为可搜索的PDF)。
本教程展示了如何创建一个简单的Windows Forms OCR应用程序,该应用程序初始化LEAD OCR引擎,显示指定的输入文件,并将图像输出为可搜索的PDF。