用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