本教程展示了如何创建一个使用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.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Tif.dll
Leadtools.Codecs.Fax.dll
Leadtools.Controls.WinForms.dll
Leadtools.Document.Writer.dll
Leadtools.Ocr.dll
Leadtools.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
结构。