C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 87 を表示中)
■51626 / )  Re[3]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ 魔界の仮面弁士 (1698回)-(2010/07/12(Mon) 17:24:05)
No51624 (モグタン星人 さん) に返信
> Microsoft OfficeのOCR機能は、
アプリとしては、mspview.exe です。

> レイトバインドは可能でしょうか?
参照設定して使う方法では、何か都合が悪いのでしょうか?

レイトバインドの場合、イベント(例:OnOCRProgress)の取り扱いに苦労することには
なるでしょうが、それでも構わなければ、参照設定せずに使うことも可能だと思います。
VB.NET からの利用経験はありませんが、少なくとも VBScript からも利用できていましたし。

Set doc = CreateObject("MODI.Document")
Call doc.Create("C:\sample.png")
Call doc.OCR(&H11, False, False)
Call MsgBox(doc.Images(0).Layout.Text)


手元に VB.NET の実行環境が無いのですが、以前、VB6 で書いたときのコードや
C# + 参照設定で呼び出したときのコードを元にすると、こんな感じだと思います。
(エラー処理やオブジェクトの解放処理などのコードは省いています。

doc = CreateObject("MODI.Document")
doc.Create("C:\sample.png")
'&H800 = MiLANGUAGES.miLANG_SYSDEFAULT
' &H9 = MiLANGUAGES.miLANG_ENGLISH
' &HC = MiLANGUAGES.miLANG_FRENCH
' &H11 = MiLANGUAGES.miLANG_JAPANESE
' &H12 = MiLANGUAGES.miLANG_KOREAN
'&H404 = MiLANGUAGES.miLANG_CHINESE_TRADITIONAL
'&H804 = MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED
doc.OCR(&H11, False, False)

images = doc.Images
Console.WriteLine(images.Count)
img = images(0)
layout = img.Layout
Console.WriteLine(layout.Text)
words = layout.Words
Console.WriteLine(words.Count)
word = words(0)
Console.WriteLine(word.Text)
返信 編集キー/


管理者用

- Child Tree -