前提:
1 创建MFC工程
2 在工程中添加微软的OCR处理模块,具体流程如下:
1)打开project
2)选择add to project
3)选择components and controls
4)选择Registered ActiveX Controls
5)找到Microsoft Office Document Imaging Viewer Control 11.0,双击添加
3 这个时候你的fileview框中应该出现下图:

4 其中mdivwctl.cpp和.h文件经常无法加入到项目中,需要你手动复制黏贴到里面,没有的可以网上下载一下。
5 在BOOL COCRForMFCApp::InitInstance()中需要对co库进行初始化,如果不初始化,程序无法执行会包内存异常,
AfxEnableControlContainer();
::CoInitialize(0);
6 通过以下代码实现ocr识别,具体见代码注释
void COCRForMFCDlg::OnButton1()
{
// TODO: Add your control notification handler code here
IDocument *pDoc = new IDocument;
pDoc->CreateDispatch("MODI.Document");//获取注册表中的文件句柄
pDoc->Create("0001.tif");//根据图片创建一个图片文件
pDoc->OCR( 2052, 0, 0 );//对图片进行ocr处理,第一个参数是选择处理语言,后两个参数直接赋0即可
IImages images = pDoc->GetImages();//将处理后的图片获取到
long num =images.GetCount();//判断图片数量
for( int i = 0; i < num; i++ )
{ IImage image = images.GetItem(i);
ILayout layout = image.GetLayout();//将图片中的文字信息获取
layout.GetText();//显示文字信息,该信息可以转换成字符串形式
}
pDoc->Close(0);//关闭
pDoc->ReleaseDispatch();//释放
delete pDoc;//删除
}