本教程展示了如何创建一个使用LEADTOOLS SDK加载和保存OCR区域的c# WinForms应用程序。
| 概述 | |
|---|---|
| 总结 | 本教程介绍如何在c# WinForms应用程序中使用LEADTOOLS OCR SDK技术 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(11kb) |
| 平台 | Windows WinForms应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License和将图像转换为可搜索的PDF与OCR教程,在工作之前加载和保存OCR区域- WinForms c#教程。
中创建的项目的副本开始将图像转换为可搜索的PDF与OCR教程。如果项目不可用,请按照该教程中的步骤创建它。
此项目所需的引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:
NuGet引用需要以下NuGet包及其依赖项:
Leadtools。光学字符识别Leadtools.Viewer.Controls.WinForms如果使用本地DLL引用,则下列DLL位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Codecs.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Tif.dllLeadtools.Codecs.Fax.dllLeadtools.Controls.WinForms.dllLeadtools.Document.Writer.dllLeadtools.Ocr.dllLeadtools.Ocr.LEADEngine.dll有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件.
License可以解锁所需的特性,必须在调用任何工具箱功能之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
中创建的项目、添加的引用、许可集和代码将图像转换为可搜索的PDF与OCR教程添加,编码可以开始。
在解决方案资源管理器,打开Form1.cs.添加一个新的下拉菜单产业园区.向标题为。的下拉菜单中添加三个新菜单项份区,装区域,并保存区,分别。保持新项目的名称为displayZonesToolStripMenuItem,loadZonesToolStripMenuItem,saveZonesToolStripMenuItem.
在设计器中,双击份区菜单项以添加在图像查看器中显示OCR区域的功能。将以下代码添加到displayZonesToolStripMenuItem_Click方法:
私人无效displayZonesToolStripMenuItem_Click (对象发送者,EventArgs{试一试{如果(_ocrPage ! =零& & _ocrPage。区! =零& & _ocrPage.Zones。计数> 0){图形g = _viewer.CreateGraphics();foreach(OcrZone区在_ocrPage.Zones){//将边界坐标从图像转换为控件zoneLeadRect = _viewer. convertrect (_viewer. convertrect)ActiveItem ImageViewerCoordinateType。形象,ImageViewerCoordinateType。控制,zone.Bounds);//在查看器上为每个对象绘制蓝色矩形g.DrawRectangle (新笔(Color.Blue) zoneLeadRect。X, zoneLeadRect。Y, zoneLeadRect。宽度,zoneLeadRect.Height);}对话框。显示($“有{_ocrPage.Zones。计数}OCR区域");//重新绘制查看器以删除矩形_viewer.Refresh ();}其他的对话框。显示($“没有OCR区”);}抓(异常交货){MessageBox.Show (ex.ToString ());}}
这将使用图形对象的imageview绘制对应于每个现有OCR识别区域的蓝色矩形。这也将显示一个对话框显示当前存在的区域数量。
一次好吧按在对话框时,代码刷新imageview并在绘制的矩形上重新绘制原始图像。
在解决方案资源管理器,打开Form1.cs把设计师提出来。双击装区域菜单项添加加载区域文件(OZF)的函数。将以下代码添加到loadZonesToolStripMenuItem_Click方法:
私人无效loadZonesToolStripMenuItem_Click (对象发送者,EventArgs{试一试{如果(_ocrPage ! =零){//从OZF文件中加载OCR区域OpenFileDialog loadZoneDlg =新OpenFileDialog ();loadZoneDlg。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;loadZoneDlg。过滤器="区域文件(*.ozf)|*.ozf";如果(loadZoneDlg。ShowDialog (这) == dialgresult . ok){_ocrPage.LoadZones (loadZoneDlg.FileName);对话框。显示($”{_ocrPage.Zones。计数}从文件中加载区域后的区域。");}}其他的对话框。显示(“先加载图像”);}抓(异常交货){MessageBox.Show (ex.ToString ());}}
在解决方案资源管理器,打开Form1.cs把设计师提出来。双击并保存区菜单项,以添加允许您将OCR区域保存到OZF文件的功能。将以下代码添加到saveZonesToolStripMenuItem_Click方法:
私人无效saveZonesToolStripMenuItem_Click (对象发送者,EventArgs{试一试{如果(_ocrPage ! =零& & _ocrPage。区! =零& & _ocrPage.Zones。计数> 0){saveZoneDlg =新SaveFileDialog ();saveZoneDlg。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;saveZoneDlg。过滤器="区域文件(*.ozf)|*.ozf";如果(saveZoneDlg。ShowDialog (这) != dialgresult . ok)返回;_ocrPage.SaveZones (saveZoneDlg.FileName);对话框。显示($“保存到{saveZoneDlg。文件名}”);}其他的对话框。显示($“没有OCR区”);}抓(异常交货){MessageBox.Show (ex.ToString ());}}
当加载新图像时,需要一个函数来清除OCR区域。将以下代码添加到openToolStripMenuItem_Click方法:
//移除旧区域如果(_ocrPage ! =零& & _ocrPage。区! =零)_ocrPage.Zones.Clear ();
按下运行项目F5,或选择调试->开始调试.
如果正确地执行了这些步骤,应用程序将能够加载、保存和显示OCR区域。使用&另存为可搜索PDF加载图像后,会自动为加载的图像创建OCR区。分区可以显示在imageview使用份区.分区可以保存为磁盘上的OZF使用并保存区,然后可以加载使用装区域.
本教程演示如何加载和保存OCR区域以及如何使用IOcrEngine而且IOcrPage接口,以及OcrZone结构。