OCR2007卡死

luoyunfeng1980 2017-09-19 12:39:39
问题:
pIDocument->OCR(MODI::miLANG_CHINESE_SIMPLIFIED, VARIANT_TRUE, VARIANT_TRUE)
这句代码卡死了,重启系统就恢复正常了。有人遇到过吗?

代码如下:
MODI::IDocumentPtr pIDocument;
if(FAILED(pIDocument.CreateInstance(__uuidof(MODI::Document))))
return;
if(FAILED(pIDocument->Create(_bstr_t(m_sInFilePath.c_str()))))
return;
if(FAILED(pIDocument->OCR(MODI::miLANG_CHINESE_SIMPLIFIED, VARIANT_TRUE, VARIANT_TRUE)))
return;
MODI::IImagesPtr pImages = pIDocument->GetImages();
if(!pImages)
return;
long lImgCnt = pImages->GetCount();
for(long i = 0; i < lImgCnt; ++i)
{
IDispatchPtr pIDispatch = pImages->GetItem(i);
if(!pIDispatch)
continue;
MODI::IImagePtr pImage;
if(FAILED(pIDispatch.QueryInterface(__uuidof(MODI::IImage), &pImage)))
continue;
MODI::ILayoutPtr pLayout = pImage->GetLayout();
if(!pLayout)
continue;
m_sText << static_cast<const wchar_t*>(pLayout->GetText());
}
pIDocument->Close(VARIANT_FALSE);
...全文
483 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyunfeng1980 2017-12-20
  • 打赏
  • 举报
回复
补丁是最新的,不存在问题;黑白两色图已经用CxImage转过了,也没有问题。没有找到真正的原因,可能和环境有关系吧。我用的MODI2007,另外一家公司的产品用的MODI2003,当出现卡住问题时,另一家公司的产品运行起来会自动修复,可能是更改了什么注册表项(一定是更改了注册表项,只有某些注册表项不正确才会出现卡住的现象),但具体是什么项没弄明白。最后改成了多进程工作,规避了这个问题。感谢zhao4zhong1的热心帮助!
赵4老师 2017-09-19
  • 打赏
  • 举报
回复
OCR的对象一般是黑白两色位图。
赵4老师 2017-09-19
  • 打赏
  • 举报
回复
打相应最新补丁……

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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