首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 办公应用 > OFFICE教程 >

用VB调用Office OCR组件兑现图文识别

2012-08-28 
用VB调用Office OCR组件实现图文识别??Option Explicit?利用MS Office 2003/2007的OCR控件, 对图片进行OC

用VB调用Office OCR组件实现图文识别

?

?

Option Explicit

?

'利用MS Office 2003/2007的OCR控件, 对图片进行OCR识别

'在VB中,只需要不到10行代码就能够实现自已的OCR文字识别软件.

'1. 添加控件,需要安装office2003, 没有安装office2003的可以从别人机子上拷贝相关文件,注册regsvr32.exe mdivwctl.dll,

'控件一般在这个目录下:C:\Program Files\Common Files\Microsoft Shared\MODI.0, 只需要相关的几个文件就可以了, 此文件夹全部文件大概在21M左右.

'2.工程->部件->添加这个控件:Microsoft Office Document Imaging 11.0 Type Library

'3.需要注意的一点是,在Windows2003 Server上,如果用Office自带的识别软件,会报错:

' ?"在一页或多页上执行 OCR 不成功(未找到文本)"的错误,但用VB写的测试程序识别是正常的。

?

'OCR的主要功能

Private Function OCRImageFile(ByVal strImageFileName As String) As Boolean

? ? Dim miDoc As Object

?

?

? ? ?'初始化并加载文档

? ? Set miDoc = CreateObject("MODI.Document") ? ? ? ? ? '创建对象

?

? ? miDoc.Create(strImageFileName) ? ? ? ? ? ? ? ? ? ? ?'加载图片文件

?

? ? Screen.MousePointer = vbHourglass ? ? ? ? ? ? ? ? ? '设置沙漏光标

?

? ? '识别

? ? Err.Clear

? ? miDoc.Images(0).OCR 2052, True, True

? ? Text1.Text = miDoc.Images(0).Layout.Text

?

? ? OCRImageFile = True

? ? Screen.MousePointer = vbArrow ? ? ? ? ? ? ? ? ? ? ? '恢复箭头光标

End Function

?

Private Sub cmdOCR_Click()

? ? Dim bolP As Boolean

? ? Dim strFileName as String

?

? ? strFileName = "c:\test.tif"

? ? bolP = OCRImageFile(strFileName)

End Sub

热点排行