vb 引用office DOMI执行ocr后出现ocr running error

zhangjbsdn 2011-11-16 09:40:48
程序运行到modiDocument.OCR miLANG_ENGLISH, False, False出现错误提示ocr running error,按确定后,程序自动关闭了,无法继续运行下去。请教高手,如何判断OCR出现错误,如何让程序不关闭,重新扫描,直到正确为止。
...全文
551 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2011-11-17
  • 打赏
  • 举报
回复
你添加一个错误处理语句不就OK了?
zhangjbsdn 2011-11-17
  • 打赏
  • 举报
回复
在大多情况下是可以识别的,图片太小,或者无法识别就会出现这个错误,我是想如何在错误发生时拦截到它,然后作出处理,不然的话,程序会运行会运行不下去,自动退出
三断笛 2011-11-16
  • 打赏
  • 举报
回复
可能是你的office没装好
贝隆 2011-11-16
  • 打赏
  • 举报
回复
这个可以成功执行

Option Explicit
'
'利用微软OCR控件, 只需要不到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


'OCR的主要功能
Private Function OCRImageFile(ByVal strName As String) As Boolean
Dim miDoc As Object


'初始化并加载文档
Set miDoc = CreateObject("MODI.Document") '创建对象

miDoc.Create App.Path & "\1.bmp" '加载图片文件

Screen.MousePointer = vbHourglass '设置光标忙

'识别
Err.Clear
miDoc.Images(0).OCR 2052, True, True
Text1.Text = miDoc.Images(0).Layout.Text

OCRImageFile = True

End Function

Private Sub Command1_Click()
Dim bolP As Boolean
bolP = OCRImageFile(App.Path & "\1.bmp")
End Sub

贝隆 2011-11-16
  • 打赏
  • 举报
回复

Option Explicit
'
'利用微软OCR控件, 只需要不到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


'OCR的主要功能
Private Function OCRImageFile(ByVal strName As String) As Boolean
Dim modiDocument As New MODI.Document
Dim modiImages As New MODI.Images
Dim modiImage As New MODI.Image
Dim modiLayout As New MODI.Layout
Dim ImageCount As Integer

Dim i As Integer
modiDocument.OCR miLANG_CHINESE_SIMPLIFIED, False, False

Set modiImage = modiDocument.Images


For i = 0 To ImageCount
Set modiImage = modiImages.Item(i)
Set modiLayout = modiImage.Layout
Text1.Text = modiLayout.Text
Next i

modiDocument.Close False: Set modiDocument = Nothing

If ImageCount > 0 Then
OCRImageFile = True
Else
OCRImageFile = False
End If
End Function

Private Sub Command1_Click()
Dim bolP As Boolean
bolP = OCRImageFile(App.Path & "\1.bmp")
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧