以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片

http://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html

OneNote2013 OCR API调用使用说明
2019.4.17

使用说明:
1、安装干净的Office 2013,再安装Office 2013 sp1。不要安装其它OneNote更新(特别是KB3115256)。
2、在OneNote历史记录里面的笔记本回收站,选中禁用此笔记本的历史记录,如果有多个笔记本,最好都禁用
3、确认OneNote里面至少有一个笔记本(notebook)和一个分区(section)。这个应该OneNote默认提供的。然后新建一个页面检查插入图片之后,是否可以从图片中获得文本,能获取说明OneNote OCR功能正常。
4、打开OneNoteAPI.xlsm,运行VBA代码TestOcrB或者TestOCR,观察立即窗口输出是否正确。
5、API函数第一次运行耗时会略长(因为要启动OneNote),之后识别速度会正常。
6、在I7 CPU测试识别速度:小图片大约几十毫秒,大图片可能会上千毫秒。
7、需要简体OneNote2013 Sp1,其它版本不支持(由于OneNote对象库不能嵌入,需要重新编译才能支持其他版本)。

运行环境说明:
1、只支持简体中文版的OneNote2013,并具备至少一个Notebook(笔记本)和一个Section(分区),API运行时会在某个分区上面创建page,插入图片识别后删除。
2、禁用笔记本历史记录,(因为每次OCR都要创建一个page,禁用回收站可以避免文档加载变慢或出现其它错误。)
3、由于OneNote的原因,多次运行可能会在某个分区残留多个名为"无标题页"的page,可以调用API命令清除。
4、如果安装了多个版本的Office(不建议这么做),应保证office2013 sp1为最后安装版本。
5、程序需要.net 4.0环境https://www.microsoft.com/zh-CN/download/details.aspx?id=17718
6、目前只支持简体中文版,其它语言版本需要修改代码。

可能的错误:
1、提示缓冲区溢出。请增加Buffersize。
2、返回的识别文本长度为0。请增加延时。(程序第一次运行耗时会略长,之后会正常。)
3、Excel突然闪退。这与OneNote有关,请增加延时。如果无效请卸载Office2013,重新安装干净的版本及SP1,不要使用精简版的Office 2013。
4、小图片始终无法识别。请在OneNote里面检查是否识别功能处于禁用状态,如果无法选择中文,请重新安装或者修复Office2013或者卸载更新。2016年7月25日OneNote的一个更新可能会造成这个问题(KB3115256)。
5、任何时候,如果发现OCR识别错误,请先检查OneNote插入此图片之后获取文本功能是否正常

如何卸载Windows更新
Windows 10:在更新历史记录里面,点击卸载更新,选择KB3115256

****************************************

4月21日测试:
OneNote2013 SP1没有问题(如果想识别小图片,请不要安装KB3115256)。
OneNote2016 简体中文版可以使用(16.0.4266.1001),但是无法识别小图片。
Office365和Office2019已经不再提供OneNote2016的功能,取代的是OneNote for Windows10

****************************************

下载    无需安装部署,直接运行。

**********

联系QQ:564955427

QQ群:550672198(验证信息:Onenote OCR)

原文地址:https://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html