没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:龚雪|2015-07-23 10:20:43.000|阅读 728 次
概述:LEADTOOLS OCR文字识别教程:扫描文档并识别为可搜索的PDF文件。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
根据下面的步骤来创建和运行一个程序用来展示如何使用OCR扫描一个图片然后得到识别结果,最后将识别结果保存为可搜索的PDF文件。
1. 打开Visual Studio
2. 在菜单中选择文件->新建->项目
3. 在新建项目对话框中,模板选择"Visual C#",然后选择Windows窗体应用程序。
4. 在名称栏输入这个项目的名称:"OcrTutorial4",然后选择确定 ,当然如果需要的话可以重新指定一个目录来存放这个项目。
5. 在“解决方案资源管理器”窗口,右键点击“引用”,然后在弹出菜单中选择“添加引用”。在弹出的引用管理器对话框中,选择“框架”然后选择“浏览(B)”按钮,定位到LEADTOOLS安装目录:
"<安装目录>\Bin\DotNet4\Win32" 然后选择如下几个DLL:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Twain.dll
Leadtools.ImageProcessing.Core.dll
Leadtools.Forms.dll
Leadtools.Forms.DocumentWriters.dll
Leadtools.Forms.Ocr.dll
Leadtools.Forms.Ocr.Advantage.dll
Leadtools.Codecs.Bmp.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Tif.dll
Leadtools.Codecs.Fax.dll
注意:Leadtools.Codecs.*.dll这种引用是根据支持的图像格式命名的,例如BMP、TIF、FAX、JPG等,请根据您的需要添加不同的格式支持。
6. 从工具箱中拖拽3个button到Form1中,button名称保持button1、2、3,然后修改button文字为如下内容:
button1:修改保存路径
button2:选择扫描设备
button3:扫描并识别
7. 切换到Form1的代码视图,然后添加如下代码到文件的最前面,如果已经有了using代码的话请添加到已有代码后:
using Leadtools; using Leadtools.Twain; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.Forms; using Leadtools.Forms.DocumentWriters; using Leadtools.Forms.Ocr;
8. 在Form1的构造函数中添加如下代码:
// 请将这两个字段替换为你得到的License文件路径和Developer Key string licenseFilePath = @"D:\Program Files\LEADTOOLS 19\Common\License\LEADTOOLS.LIC"; string developerKey = "***";
9. 在Form1类中添加如下的私有变量:
// OCR引擎 private IOcrEngine _ocrEngine; // OCR文档 private IOcrDocument _ocrDocument; // TWAIN private TwainSession _twainSession; // 保存PDF的路径 private string _outputDirectory = @"D:\ScanImages"; // 图像处理命令列表,我们使用这个功能来处理扫描的图片 private List<RasterCommand> _imageProcessingCommands; private int _scanCount;
10. 重写Form1的 Onload事件,然后添加如下代码:
protected override void OnLoad(EventArgs e) { // 初始化OCR引擎 _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false); // 启动引擎 _ocrEngine.Startup(null, null, null, @"D:\Program Files\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"); // 设置语言为中英 _ocrEngine.LanguageManager.EnableLanguages(new string[] { "zh-Hans", "en" }); // 初始化TWAIN _twainSession = new TwainSession(); _twainSession.Startup(this.Handle, "My Company", "My Product", "My Version", "My Application", TwainStartupFlags.None); // 订阅事件TwainSession.Acquire来获取扫描图像 _twainSession.AcquirePage += new EventHandler<TwainAcquirePageEventArgs>(_twainSession_AcquirePage); // 初始化我们将要使用到的图像处理命令 // 您可以添加任意命令进行预处理, 这里我们只添加倾斜校正和去除噪点 _imageProcessingCommands = new List<RasterCommand>(); _imageProcessingCommands.Add(new DeskewCommand()); _imageProcessingCommands.Add(new DespeckleCommand()); base.OnLoad(e); }
11. 重写Form1的OnFormClosed方法,然后添加如下代码:
protected override void OnFormClosed(FormClosedEventArgs e) { // 释放引擎 _ocrEngine.Dispose(); // 释放TWAIN _twainSession.Shutdown(); base.OnFormClosed(e); }
12. 为button1(修改保存路径)添加如下代码:
private void button1_Click(object sender, EventArgs e) { // 变更保存路径 using (FolderBrowserDialog dlg = new FolderBrowserDialog()) { dlg.SelectedPath = _outputDirectory; dlg.ShowNewFolderButton = true; if (dlg.ShowDialog(this) == DialogResult.OK) _outputDirectory = System.IO.Path.GetFullPath(dlg.SelectedPath); } }
13. 为button2(选择扫描设备)按钮添加如下代码:
private void button2_Click(object sender, EventArgs e) { // 选择您想要使用的扫描仪 _twainSession.SelectSource(null); }
14. 为button3(扫描并识别)按钮添加如下代码:
private void button3_Click(object sender, EventArgs e) { // 如果输出路径不存在的话创建一个 if (!System.IO.Directory.Exists(_outputDirectory)) System.IO.Directory.CreateDirectory(_outputDirectory); // 建立PDF文件名称 string name = "Scanned" + _scanCount; _scanCount++; string pdfFileName = System.IO.Path.Combine(_outputDirectory, name + ".pdf"); // 创建一个基于文件的OCR文档以便于将扫描的文档添加进来 _ocrDocument = _ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile); // 扫描 _twainSession.Acquire(TwainUserInterfaceFlags.Show); // 保存PDF _ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null); // 释放页面 _ocrDocument.Dispose(); // 显示结果 System.Diagnostics.Process.Start(pdfFileName); }
15. 添加扫描事件:
private void _twainSession_AcquirePage(object sender, TwainAcquirePageEventArgs e) { // 扫描进来的文档 RasterImage image = e.Image; // 进行预处理 foreach (RasterCommand command in _imageProcessingCommands) { command.Run(image); } // 创建OCR页面 using (IOcrPage ocrPage = _ocrEngine.CreatePage(image, OcrImageSharingMode.AutoDispose)) { // 识别 ocrPage.Recognize(null); _ocrDocument.Pages.Add(ocrPage); } }
16. 保存然后编译执行。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
从版本2025.2.2开始, Stimulsoft 产品中引入了一个新的关系参数JoinType 。它定义了两个数据源之间的连接类型。在本文中,我们将深入探讨如何使用此参数。
本文将详细介绍如何使用 C# 和 Spire.XLS for .NET 库将 Excel XLS 或 XLSX 文件转换为 Markdown 格式。
Webix 是一套完整的前端开发框架,它允许开发者利用 JavaScript、CSS 和 HTML5 技术,快速构建出富交互性的 Web 应用程序。该框架提供了超过 100 个预制且可高度定制的组件,涵盖了数据表格、图表、表单、布局等各类常见的用户界面元素。无论是经验丰富的专业开发者,还是初涉 Web 开发领域的新手,都能从 Webix 的易用性和强大功能中受益。
CAD VCL Multiplatform是一个高质量的多功能源代码库,可用于 Delphi 和 C++Builder 应用程序。支持 2D 和 3D CAD 格式,包括DWG、DXF、 HPGL PLT、HGL、STEP、IGES、STL、ACIS SAT、BREP、CGM、SVG等。该产品不需要安装 AutoCAD® 或其他附加应用程序。
LEADTOOLS Asian OCR Module在应用程序中增加了一些光学字符识别(OCR)技术的方法,并包含了开发健壮的,高性能的和可扩展的图像识别方案所需要的技术。
LEADTOOLS OCR Module - LEAD Engine开发健壮的,高性能的和可扩展的图像识别方案所需要的OCR 识别技术。
LEADTOOLS OCR Module - OmniPage EngineLEADTOOLS OCR Module - OmniPage Engine增加了对添加光学字符识别(OCR)和智能字符识别(ICR)技术到应用程序的方法,并且包含开发稳健的,高性能的和可扩展的图像识别解决方案所需要的一切。
LEADTOOLS Professional Arabic OCR ModuleLEADTOOLS Arabic OCR Module增加了对添加光学字符识别(OCR)技术到应用程序的方法,并且包含开发稳健的,高性能的和可扩展的图像识别解决方案所需要的一切。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢