简介
LEADTOOLS是世界一流的图像开发工具包,以“程序员友好”的方式为您提供高质量、高性能、高稳定性的图像组件。开发者可以明显减少应用程序的开发时间,从而最大化生产率,保证了最大可能的投资回报。
LEADTOOLS在不牺牲控件的基础上进行了全新设计,极大地简化了开发。一个非常重要的改进是一组用于扫描图像光学文字识别(OCR)的高水准.NET类。新框架非常直观、灵活和易于理解。程序员仅用三行代码就能使用OCR功能,同时还能保证控件达到特定应用程序或工作流要求的必须水平。
在本文中,我们将为您介绍全新.NET OCR类的主要功能,为您提供创建一个OCR应用程序的步骤和示例代码。点击文章底部链接,下载功能齐全的全功能试用版SDK体验吧!
关键功能
LEADTOOLS提供了以下方法:
· 识别和导出文本,你可以从多种文本Txt、Word、数据库或Excel文件格式中选择。
· 在单线程或多线程环境中执行OCR操作,且优化了客户端操作。
· 支持多个OCR引擎,使用常见的.NET类库从用户层次抽象出它们。不需要改变应用程序的代码,就能在多个引擎间转换。
· 选择识别文本的语种。包括英语、简体中文、繁体中文、日语、韩语、法语、德语、意大利语、挪威语、葡萄牙语、俄语、西班牙语或瑞典语等等超过104种。
· 手动或自动将复杂的页面分为文本区域、图像区域、表格区域、框线、标题和页脚。
· 在识别前设置精度阈值,控制识别的准确性。
· 学习、保存和加载相同文档的识别数据。SDK可以学习识别的结果,并使用OCR文本验证系统提高后续识别率。
· 可以识别几乎任何字体的文本。
· 使用内置的用户字典提高识别的准确率。
· 自动检测传真、点阵式打印机和其他模糊文档,然后做出相应的补偿。
· 处理文本和图形。识别软件可以区分半色调图形和文本,为复合文档处理系统提供了基础。以40多种格式保存文档,包括 Adobe PDF和PDF/A、MS Word、MS Excel和各种ASCII 和UNICODE文本。
环境
LEADTOOLS OCR .NET类库有Win32和x64版本,支持以下环境的软件开发:
· Windows 8 (32 和64-bit 版本)
· Windows 7 (32 和64-bit 版本)
· Windows 2008 (32 和64-bit 版本)
· Windows Vista (32 和64-bit 版本)
· Windows XP (32 和64-bit 版本)
· Windows 2000
提供的示例可以在Visual Studio 2005、2008、2012、2013上运行。
LEADTOOLS OCR是怎样工作的?
LEADTOOLS使用自主研发的OCR引擎,使用这个类来和页面文档交互。LEADTOOLS OCR和安装在系统上的OCR引擎间可以使用这个类来进行调用。这个OCR类是一个内部结构,包括了识别、获取并设置信息以及文本验证时的所有必要信息。
下面是识别一个或多个页面的一般步骤。若想了解更多详细信息,你可以下载LEADTOOLS全功能试用版,查看.NET帮助里的“使用LEADTOOLS .NET OCR”主题:
1. 选择你想使用的引擎类型,创建一个IOcrEngine接口的实例。
2. 使用 IOcrEngine.Startup 方法启动OCR引擎。
3. 创建一个单页或多页的OCR文档。
4. 手动或自动在页面上建立识别区域。(可选。有无区域均可识别页面。)
5. 可选。设置OCR引擎要使用的语言。(默认为英语)
6. 可选。设置拼写检查语言。(默认为英文)
7. 可选。设置任何特殊的识别模块选项。当页面包含手动或自动创建的区域时才需要。
8. 识别。
9. 若需要,保存识别结果。结果可以保存到一个文件或内存中。
10. 结束时关闭OCR引擎。
4、5、6、7步以任意顺序执行都可以,只要在启动OCR引擎之后识别页面之前执行就可以。
在你的.NET应用程序中添加theLeadtools.Forms.Ocr.dll 组件的引用,就可以使用LEADTOOLS for .NET OCR。这个组件包括了使用LEADTOOLS OCR编程时使用的各种接口、类、结构和委托。
由于工具包支持多个引擎,因此与引擎连接的真正代码存储在一个单独的组件中,一旦IOcrEngine 接口的实例被创建,就动态加载这个组件。因此,你必须保证你计划使用的引擎组件就在 Leadtools.Forms.Ocr.dll的旁边。你可以在项目中添加引擎组件,自动检测依赖,尽管这不是LEADTOOLS要求的。
代码
以下代码展示了如何使用代码执行上述操作:
// *** 第一步:选择引擎类型,创建接口的实例。
// 我们将使用LEADTOOLS OCR Plus 引擎,并在同一进程中使用它。
IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, false);
// ***第二步:启动引擎。
// 使用默认的参数。
ocrEngine.Startup(null, null, null);// ***第三步:创建一个单页或多页的OCR文档
IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument();// 将一个多页TIF图像的所有页面添加到文档中
ocrDocument.Pages.AddPages(@"C:\Images\Ocr.tif", 1, -1, null);// *** 第四步:手动或自动在页面上创建区域
// 自动创建区域
ocrDocument.Pages.AutoZone(null);
// *** 第五步:(可选)设置OCR引擎要使用的语言
// 使用英语和德语
ocrEngine.LanguageManager.EnableLanguages(new string[] { "en", "zh-Hans"});// *** 第六步:(可选)设置拼写检查语言
// 启动拼写检查系统,将英语设为拼写语言
ocrEngine.SpellCheckManager.Enabled = true;
ocrEngine.SpellCheckManager.SpellLanguage = "en";
// *** 第七步:(可选)设置任何特殊的识别模块选项
//将第一页中第一个区域的fill方法设置为默认的
OcrZone ocrZone = ocrDocument.Pages[0].Zones[0];ocrZone.FillMethod = OcrZoneFillMethod.Default;ocrDocument.Pages[0].Zones[0] = ocrZone;// ***第八步:识别
ocrDocument.Pages.Recognize(null);
// *** 第九步:保存识别结果
// 将结果保存为一个PDF文件
ocrDocument.Save(@"C:\Images\Document.pdf", OcrDocumentFormat.PdfA, null);ocrDocument.Dispose();// *** 第十步:当结束时关闭OCR引擎
ocrEngine.Shutdown();ocrEngine.Dispose();
最后,下面的示例使用一劳永逸的IOcrAutoRecognizeManager接口执行了相同的操作:
// 创建引擎实例
using (IOcrEngine ocrEngine =
OcrEngineManager.CreateEngine(OcrEngineType.Plus, false))
{// 启动引擎
ocrEngine.Startup(null, null, null);// 将多页TIF图像转化为一个PDF文档
ocrEngine.AutoRecognizeManager.Run(@"C:\Images\Ocr.tif",
@"C:\Images\Document.pdf",
null,
OcrDocumentFormat.PdfA,null);
}
总结
LEADTOOLS为开发者提供了世界一流的稳定图像库。易用的高级编程接口使业务关键型应用程序的快速开发变为可能,新设计简化了开发。
从以上示例我们可以看出,LEAD科技全新的高级OCR接口和设计提供了一个高效的、灵活的解决方案,可以将扫描图像转化为可编辑的、可搜索的文档。提供的类允许你控制整个过程,使用一个方法调用,你就可以启动引擎,将150多种支持的图像格式转化为常见的文档格式。
OCR是LEADTOOOLS提供的诸多功能中的一个。有关更多信息,请访问我们的网站或下载免费的功能齐全的评估版SDK。
示例所需的开发包
LEADTOOLS提供了若干工具包、插件和节省费用的产品包,它们都能提供OCR技术。我们为您推荐Recognition Imaging 或Document Imaging Suite,包含了Document Imaging SDK以及OCR、输出可搜索PDF所需的一切插件。关于产品的更多选择,请联系我们的销售部门。
如果您在决定购买前需要试用,欢迎下载LEADTOOLS全功能评估版,可以免费试用60天哦。
支持
关于其他产品的更多信息,请访问我们的官方网站,
欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。
同时欢迎您使用评估版期间的免费技术支持。