|
■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)
|