MODI OCR控制操作小程式 |
|
timhuang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
解決 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=53772 問題,
如何控制 Microsoft Office Document Imaging 做光學辨識? 主要是利用了 ole automation 來進行操作, 相關資料可以參考, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Mspauto/html/dimthOCR.asp
http://dbforums.com/t952144.html 重要程式片段如下,
procedure TForm1.Button2Click(Sender: TObject); var doc, layout: Variant; i: integer; str: string; begin if OpenDialog1.FileName = '' then begin ShowMessage('please select a tiff image file first!'); exit; end; doc := CreateOleObject('MODI.Document'); doc.Create(OpenDialog1.FileName); // miLANG_CHINESE_TRADITIONAL = 1028 // miLANG_CHINESE_SIMPLIFIED = 2052 // miLANG_SYSDEFAULT = 2048 Screen.Cursor := crHourGlass; doc.OCR(1028); Screen.Cursor := crDefault; for i:=0 to doc.Images.Count - 1 do begin str := str + doc.Images.Item[i].Layout.Text; end; Memo1.Lines.Text := str; ShowMessage('Finished!'); doc.Close; doc := UnAssigned; end;附上一份 tiff 的圖檔方便大家進行測試! 執行結果如下, ![]() |
timhuang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
receadv
一般會員 ![]() ![]() 發表:0 回覆:2 積分:0 註冊:2004-09-08 發送簡訊給我 |
|
receadv
一般會員 ![]() ![]() 發表:0 回覆:2 積分:0 註冊:2004-09-08 發送簡訊給我 |
|
timhuang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
ry_lee
高階會員 ![]() ![]() ![]() ![]() 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
timhuang 你好:
我照你下面所說去做(關於會有類別登錄錯誤的問題, 弟也有發生, 但第二次執行時就 ok 了, 不知和 interface 有沒有關係. 若要解決這個問題, 你可以利用 import type library 的方式產生 MODI_TLB 這個 pas 檔, 再引入程式後即可! ),但第一次執行依然會發生"類別未登錄"之錯誤,第二次執行時就 ok 了,為什麼會這樣呢? ===================引 用 timhuang 文 章=================== 站上有相當多有關 ole automation 的文章, 你可以先試著讀一下, 先有概念後, 再下手! 關於會有類別登錄錯誤的問題, 弟也有發生, 但第二次執行時就 ok 了, 不知和 interface 有沒有關係. 若要解決這個問題, 你可以利用 import type library 的方式產生 MODI_TLB 這個 pas 檔, 再引入程式後即可! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |