利用Office组件MODI识别图片上的文本 - [技巧攻略]

转载
http://www.blogbus.com/gleisure-logs/236198449.html

  也是网上看到有人利用Microsoft Office的组件“Microsoft Office Document Imaging” (MODI)进行识别图片上的文本,于是我也测试了一下,果然可以。
  测试环境:Windows XP,Microsoft Office 2003
  我是在EXCEL的VBA环境下测试,引用“Microsoft Office Document Imaging 11.0 Type Library”,代码如下: 

  1. Private Sub OCRImageFile(ByVal strName As String)
  2.  Dim objDocument As New MODI.Document
  3.  Dim objImage As New MODI.Image
  4.  objDocument.Create strName
  5.  Set objImage = objDocument.Images.Item(0)
  6.  On Error Resume Next
  7.  objImage.OCR miLANG_CHINESE_SIMPLIFIED, False, False //以中文模式识别
  8.  If Err.Number = 0 Then
  9.   MsgBox objImage.Layout.Text //显示识别的文本
  10.  Else
  11.   MsgBox Err.Description
  12.  End If
  13.  objDocument.Close False
  14.  Set objDocument = Nothing
  15. End Sub

 

  刚开始也与网上的评论一样,在代码第7行会出错“Object hasn't been initialized and can't be used yet”,事实上这是因为OCR组件MODI未完整安装。我是直接在开始菜单找到“Microsoft Office 工具”下的“Microsoft Office Document Imaging”程序,打开后测试一张图片进行识别,便会提示安装OCR功能。之后该错误便能消除。
  对于一些图片提示错误“EP_E_DCOM_OCR_FAILRECOG”,应该是不能正常识别(或者未识别到文本)。

你可能感兴趣的:(OCR)