打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi调用Office2007的OCR识别功能

Delphi调用Office2007的OCR识别功能

时间:2013-02-23 15:06来源:未知 作者:老陕 点击:
创建MODI.Document,报未注册 EOleException 核心dll: C:\Program Files\Common Files\Microsoft Shared\MODI\12.0 下 MDIVWCTL.dll (核心COM) MSPGIMME.dll 核心MDIVWCTL.DLL已reg,核心代码运行没问题,主窗体上丢了一个TMiDocView可视OLE控件,报没有注册
创建MODI.Document,报未注册 EOleException
核心dll:
C:\Program Files\Common Files\Microsoft Shared\MODI\12.0 下
MDIVWCTL.dll (核心COM)
MSPGIMME.dll
核心MDIVWCTL.DLL已reg,核心运行没问题,主窗体上丢了一个TMiDocView可视OLE控件,报没有注册Article/yufa' target='_blank'>类型EOleException
尝试以下方法:
1. TService声明Private MiDoc:TMiDocView对象, Create时创建该对象
2. 纯接口方式 CoDocument.Create; IDocument.Create('文件名')
3. CreateOLEOBject('MODI.DOcument') 动态创建comserver as IDocument
4. way1 中指定 MiDoc.FileName, MiDoc.Document as IDocument
5. IDocument.Create时try 保护 except中再次 create;
偶尔能调过该问题,Create成功, 但是运行多次后 exception明显变多
以上组合均未能解决问题
最后解决办法:
 1、 安装Office2007,打上修复补丁,测试通过(未测试)
 2、 直接调用JS脚本解决(效率很差,临时解决,不想试验方案1);
代码如下:
{调用:
procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
begin
  str := ParsePhone('c:\\test.jpg');
  ShowMessage(str);
end;
}
function ParsePhone(imagePath: WideString): string;
  function RunJs(const JsCode, JsVar: string): string;
  var
    script: OleVariant;
  begin
    try
      script := CreateOleObject('ScriptControl');
      script.Language := 'JavaScript';
      script.ExecuteStatement(JsCode);
      Result := script.eval_r(JsVar);
    except
      Result := '';
    end;
  end;
var
  jsCode: string;
begin
  jsCode := 'function ParsePhone(path)' +
    '{' +
    'var oModi = new ActiveXObject("MODI.Document");' +
    'oModi.Create(path);' +
    'oModi.Images(0).OCR(9);' +
    'var oLy = oModi.Images(0).Layout;' +
    'return oLy.Text;' +
    'delete oLy;' +
    'delete oModi;' +
    '}';
  Result := RunJs(jsCode, 'ParsePhone("' + imagePath + '");'); 
end;

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C#图片文字识别
用MODI OCR 21种语言
在简体中文Office 2003下OCR繁体中文、日文、韩文
用Pdg2Pic、TextForever实现批量OCR
在Microsoft Office 2010中使用MODI
使用Winsock控件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服