彩票走势图

LEADTOOLS OCR文字识别教程:追加删除页面

转帖|使用教程|编辑:龚雪|2015-05-26 09:31:14.000|阅读 433 次

概述:本教程主要为大家展示如何在OCR文档上追加/删除页面。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

根据下面的步骤来创建和运行一个程序用来展示如何在OCR文档上追加/删除页面。

1. 打开Visual Studio。

2. 在菜单中选择文件->新建->项目

追加删除页面

3. 在新建项目对话框中,模板选择"Visual C#",然后选择Windows窗体应用程序

4. 在名称栏输入这个项目的名称:"OcrTutorial2",然后选择确定 ,当然如果需要的话可以重新指定一个目录来存放这个项目。

追加删除页面

5. 在"解决方案资源管理器"窗口,右键点击"引用",然后在弹出菜单中选择"添加引用"。在弹出的引用管理器对话框中,选择"框架"然后选择"浏览(B)"按钮,定位到LEADTOOLS安装目录:

"<安装目录>\Bin\DotNet4\Win32" 然后选择如下几个DLL:

  • Leadtools.dll
  • Leadtools.Codecs.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. 在WinForm的设计器画面中,向Form1窗体中拖拽5个Button,然后将这5个按钮的名字分别命名为:

  • button1:启动
  • button2:追加页面
  • button3:移除页面
  • button4:反转页面
  • button5:停止
追加删除页面

7. 在设计器中,从工具箱拖拽一个LEADTOOLS的ImageViewer控件到Form1上。

追加删除页面
追加删除页面

8. 切换到Form1的代码视图,然后添加如下代码到文件的最前面,如果已经有了using代码的话请添加到已有代码后:

using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.Processing;
using Leadtools.ImageProcessing;

9. 在Form1的构造函数中添加如下代码:

// 请将这两个字段替换为你得到的License文件路径和Developer Key
string licenseFilePath = @"你的License文件路径";
string developerKey = "你的DeveloperKey";
RasterSupport.SetLicense(licenseFilePath, developerKey);

10. 在Form1类中添加如下的私有变量:

private IOcrDocument _ocrDocument;
private IOcrEngine _ocrEngine;

11. 在Button1(启动)的Click事件中添加如下代码:

private void button1_Click(object sender, 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" });
// 创建文档
_ocrDocument = _ocrEngine.DocumentManager.CreateDocument();
MessageBox.Show("OCR引擎创建启动成功,文档创建完毕。");
}

12. 在Button2(追加页面)的Click事件中添加如下代码:

private void button2_Click(object sender, EventArgs e)
{
// 从硬盘上选择一个图片文件,例如 @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif";
string fileName = null;
using (OpenFileDialog dlg = new OpenFileDialog())
{
if (dlg.ShowDialog(this) == DialogResult.OK)
fileName = dlg.FileName;
}
if (fileName == null)
return;
// 从图片中将第一页加入到创建的OCR文档中
IOcrPage page = _ocrDocument.Pages.AddPage(fileName, null);
// 在ImageViewer中显示图片
this.imageViewer1.Image = page.GetRasterImage();
int pageCount = _ocrDocument.Pages.Count;
// 显示这一页的信息
string message = string.Format(
"页数合计为{0}\n最后一页大小 = {1} X {2}\n分辨率 = {3} X {4}\n位每像素 = {5}",
pageCount,
page.Width, page.Height,
page.DpiX, page.DpiY,
page.BitsPerPixel);
MessageBox.Show(message);
}

13. 在Button3(移除页面)的Click事件中添加如下代码:

private void button3_Click(object sender, EventArgs e)
{
// 从文档中移除所有添加的页面
_ocrDocument.Pages.Clear();
MessageBox.Show("所有页面都被移除。");
}

14. 在Button4(反转页面)的Click事件中添加如下代码:

private void button4_Click(object sender, EventArgs e)
{
// 如果一页都没有,返回
if (_ocrDocument.Pages.Count < 1)
return;
// 取得最后一页
IOcrPage page = _ocrDocument.Pages[_ocrDocument.Pages.Count - 1];
// 转化为RasterImage
using (RasterImage image = page.GetRasterImage())
{
// 将页面进行垂直反转
FlipCommand cmd = new FlipCommand(false);
cmd.Run(image);
// 得到的图像为拷贝对象,所以需要更新原有页面
page.SetRasterImage(image);
// 在ImageViewer中显示图片
this.imageViewer1.Image = page.GetRasterImage();
MessageBox.Show("最后一页已经反转");
}
}

15. 在Button5(停止)的Click事件中添加如下代码:

private void button5_Click(object sender, EventArgs e)
{
// 释放文档
_ocrDocument.Dispose();
// 释放引擎
_ocrEngine.Dispose();
MessageBox.Show("OCR引擎和文档都已被释放。");
}

16. 编译并运行。

追加删除页面

慧都产品购买,详情请咨询""!


标签:OCR

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
LEADTOOLS Professional Asian OCR Module

LEADTOOLS Asian OCR Module在应用程序中增加了一些光学字符识别(OCR)技术的方法,并包含了开发健壮的,高性能的和可扩展的图像识别方案所需要的技术。

LEADTOOLS OCR Module - LEAD Engine

开发健壮的,高性能的和可扩展的图像识别方案所需要的OCR 识别技术。

LEADTOOLS OCR Module - OmniPage Engine

LEADTOOLS OCR Module - OmniPage Engine增加了对添加光学字符识别(OCR)和智能字符识别(ICR)技术到应用程序的方法,并且包含开发稳健的,高性能的和可扩展的图像识别解决方案所需要的一切。

LEADTOOLS Professional Arabic OCR Module

LEADTOOLS Arabic OCR Module增加了对添加光学字符识别(OCR)技术到应用程序的方法,并且包含开发稳健的,高性能的和可扩展的图像识别解决方案所需要的一切。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP