简单的 OCR 识别程序[VFP源码]

 一段简单的 OCR 识别程序,只示例了最简单的用法。如果对此有兴趣,可以到微软的 MSDN 中搜索一下关于 Microsoft office Document Imaging 2003 Object 的内容,


条件:
1. 安装了 Office 2003(缺省安装即可)。
2. 自己截一副图。现在就按 Print Screen 键并粘贴到 Windows 自带的画图中,然后保存。

运行下面的代码,你看到什么了!?


*!* ***********************************************************************
*!* 功能: 使用 Microsoft Office Document Imaging 2003 提供的 OCR 功能
*!*       实现简单的 OCR 识别。
*!* 作者: dkfdtf  - 2007.07.01
*!* ***********************************************************************
LOCAL oMiDoc, cFile

TRY
    oMiDoc = Createobject('MODI.Document')
CATCH
    oMiDoc = NULL
ENDTRY
IF ISNULL( oMiDoc )
    MESSAGEBOX( '没有安装 Office 2003 吧 !?' )
ELSE
    oMyProg = NEWOBJECT( 'MyProg' )         && 创建自己的 OCR 识别进度显示
    EVENTHANDLER( oMiDoc, oMyProg )         && 绑定到 oMiDoc 这个 COM 对象上
   
    m.cFile = GETFILE( 'bmp;gif;jpg;png;tif')
    IF !EMPTY( m.cFile )
        oMidoc.Create( m.cFile )
        ShowStatus(0)
        oMidoc.OCR( 2052 )            && 按简体中文来识别
        WAIT CLEAR
        CLEAR
        ? oMiDoc.Images(0).Layout.text
    ENDIF
    oMiDoc.Close()
    RELEASE oMiDoc
ENDIF

FUNCTION ShowStatus( tnVal )
    WAIT WINDOW AT SROWS()/2, SCOLS()/2-20 ;
        NOWAIT '  正在识别, 已完成 ' + TRANSFORM( m.tnVal ) + '%  '
ENDFUNC

*!* COM 事件接口实现
DEFINE CLASS MyProg AS Session OLEPUBLIC
*!* IMPLEMENTS _IDocumentEvents IN "c:/program files/common files/microsoft shared/modi/11.0/mdivwctl.dll"
    IMPLEMENTS _IDocumentEvents IN "mdivwctl.dll"
   
    PROCEDURE _IDocumentEvents_OnOCRProgress( Progress AS Integer, Cancel AS LOGICAL @ ) AS VOID ;
        HELPSTRING "method OnOCRProgress"
        ShowStatus( Progress )
    ENDPROC
ENDDEFINE

你可能感兴趣的:(microsoft,office,integer,session,windows,object,VFP)