private void button1_Click(object sender, EventArgs e) { MODI.Document doc = new MODI.Document(); doc.Create("C:\\OCR\\text.jpg"); MODI.Image image; MODI.Layout layout; doc.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true, true); StringBuilder sb = new StringBuilder(); for (int i = 0; i < doc.Images.Count; i++) { image = (MODI.Image)doc.Images[i]; layout = image.Layout; sb.Append(layout.Text); } textBox1.Text = sb.ToString(); }
來源地址:http://www.wxzzz.com/1602.html
現在市面上的可用的OCR(光學字符識別)組件還是比較多的,其中有大名鼎鼎的Tesseract,還有非常專業的Asprise,盡管它們非常專業、非常好用,但是用起來並不省事(因為它們對中文的支持並不友好)。如果公司是專業開發OCR套件,願意耗資長時間的深入研發,那么比較推薦Tesseract,它可以進行深入的配置,並且是開源的。
經過多種方案的嘗試后,發現還是微軟的OCR組件對中文識別效果不錯,並且簡單。該組件基於office 2007中,其效果如下所示:
使用C#與Office 2007 OCR組件實現圖文轉換
- 安裝office 2007.(安裝組件選項時需要手動在 工具–> Microsoft Office Document Imaging 安裝此項)
- Office SP2 補丁安裝(301 MB):http://download.microsoft.com/download/A/3/9/A39E919E-AFA8-4128-9249-51629206C70F/office2007sp2-kb953195-fullfile-zh-cn.exe
- 在visual studio C#項目中引用COM組件:Microsoft Office Document Imaging 12.0 Type Library
- 然后編寫如下代碼(本文使用的為winfrom測試項目):
然后在C盤放入一個text.jpg文件即可開始測試以上代碼。
其它說明:如果報錯“其他信息: 檢索 COM 類工廠中 CLSID 為 {40942A6C-1520-4132-BDF8-BDC1F71F547B} 的組件失敗,原因是出現以下錯誤: 80040154 沒有注冊類”
,請嘗試將項目生成目標從 Any CPU
修改為 x86
.