本教程展示了如何创建一个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.dllLeadtools.Codecs.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Tif.dllLeadtools.Codecs.Fax.dllLeadtools.Codecs.Jb2Leadtools.Controls.WinForms.dllLeadtools.Document.Writer.dllLeadtools.Ocr.dllLeadtools.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。