http://www.cnblogs.com/Charltsing/p/OneNoteOCR.html
有需要技術咨詢的,聯系QQ564955427
前段時間有人問我能不能通過OneNote掃描圖片,並返回文本。經過幾天的測試,以及對網上若干個代碼的測試,寫了一個OneNote 2013下的OCR導入導出工具。
在測試的時候,發現OneNote 2013 提供的API還是有一些問題的,總結如下:
1、OneNote 2013務必升級到最新版,否則調用API的時候,可能會發生異常。本人目前的版本是15.0.4787.1000簡體中文版。
2、掃描的語言支持中文和英文,簡體版當然默認使用中文識別,但貌似沒有辦法修改默認語言。也許只能通過修改控制面板中的語言及地區才可以。
3、通過OneNote API做掃描步驟也不復雜,一般都是三~四步,
onenoteApp.CreateNewPage 建立新page
onenoteApp.UpdatePageContent 加入圖片的base64數據
onenoteApp.GetPageContent 從返回的XML里面提取OCR Data文本
onenoteApp.DeleteHierarchy 刪除新建的page
4、有一些需要注意的問題:
OneNote掃描圖片功能如果沒有禁用的話,是自動進行的,而且不能獲知什么時候識別完畢。只能通過延時語句來估計時間。
onenoteApp.DeleteHierarchy 不太可靠,有的時候沒有刪除新建的page。建議增加Dispose刪除多出來的page(通過title識別即可)
OneNote的DLL不支持嵌入資源,所以不同版本的OneNote需要引用不同的DLL,這可能會給程序的發布帶來一些問題。
下圖是OneNote2010的識別結果
OneNote2013識別情況要略好些。
***************************************************************************************
最后我把這個OCR封裝到了XLL里面,給Excel vba調用,方便批量識別圖片文本,並存入Excel。VBA調用代碼如下: