基于VBA的Access光学字符识别

基于VBA的Access光学字符识别,vba,ms-access,ocr,Vba,Ms Access,Ocr,我希望OCR一些JPEG(我可以用iview即时转换) 我得到: Method 'OCR' of object 'IImage' failed 我的代码还不完美,因为我专注于使.ocr方法发挥作用。 这些图像是照片,只包含几个字符。我可以用条形码阅读器,但很难找到免费的 公共功能测试(strTempImg) pXname=“ocrTest” 出错时转到出错手 作为对象的Dim miDoc 模糊不清的单词作为MODI.Word 将strWordInfo设置为字符串 Set miDoc=Creat

我希望OCR一些JPEG(我可以用iview即时转换)

我得到:

Method 'OCR' of object 'IImage' failed
我的代码还不完美,因为我专注于使.ocr方法发挥作用。 这些图像是照片,只包含几个字符。我可以用条形码阅读器,但很难找到免费的

公共功能测试(strTempImg)
pXname=“ocrTest”
出错时转到出错手
作为对象的Dim miDoc
模糊不清的单词作为MODI.Word
将strWordInfo设置为字符串
Set miDoc=CreateObject(“MODI.Document”)
miDoc.创建strTempImg
'执行OCR。
miDoc.图像(0.ocr)
'检索并显示单词信息。
设置miWord=miDoc.Images(0).Layout.Words(2)
strWordInfo=_
“Id:”&miWord.Id&vbCrLf&_
“行Id:”&miWord.LineId&vbCrLf&_
“区域Id:”&miWord.RegionId&vbCrLf&_
“字体Id:”&miWord.FontId&vbCrLf&_
“认可信心”:_
miWord.RecognitionConfidence&vbCrLf&_
Text:&miWord.Text
设置miWord=Nothing
设置miDoc=无
OCRtest=strWordInfo
返回
退出功能
错手:
调用CStatus(错误,504,错误号,错误描述,strTempImg)
端函数

如果您使用MS Office 2010,首先需要。 然后,您需要添加对Microsoft Office Document Imaging 1x.0类型库的引用:

Sub OCRReader()
Dim doc1 As MODI.Document
Dim inputFile As String
Dim strRecText As String
Dim imageCounter As Integer
inputFile = Application.GetOpenFilename
strRecText = ""
Set doc1 = New MODI.Document
doc1.Create (inputFile)
doc1.OCR ' this will ocr all pages of a multi-page tiff file
For imageCounter = 0 To (doc1.Images.Count - 1) ' work your way through each page of results
    strRecText = strRecText & doc1.Images(imageCounter).Layout.Text ' this puts the ocr results into a string
Next
fnum = FreeFile()
Open "C:\Test\testmodi.txt" For Output As fnum
    Print #fnum, strRecText
Close #fnum
doc1.Close
End Sub

以上代码来自:

您安装了什么版本的MS Office?抱歉,这会导致访问崩溃。我打破了它,发现它在你猜的地方崩溃了,在.OCR方法下。那东西被诅咒了。我忘了提到我发现的另一个代码。我想感谢你的迅速回复。不客气。我对莫迪不太熟悉,所以我帮不了你更多。我希望你能分享这次坠机的修复方法,就像每个人都遇到的一样,没有人有解决办法,只有一个问题:S