Office OCR 图文识别 Microsoft Office Document Imaging(转)

时间:2024-02-18 14:34:54

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

原文:http://sheng.iteye.com/blog/1330063

Office OCR 图文识别 Microsoft Office Document Imaging

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