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)

以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片的更多相关文章

  1. VBA通过C#以API方式调用JS脚本函数

    http://www.cnblogs.com/Charltsing/p/JSDotNetAPI.html 在网页采集中,很多时候需要运行网站下载的某个js文件中的函数,以计算Request参数.VBA ...

  2. Java API方式调用Kafka各种协议

    众所周知,Kafka自己实现了一套二进制协议(binary protocol)用于各种功能的实现,比如发送消息,获取消息,提交位移以及创建topic等.具体协议规范参见:Kafka协议  这套协议的具 ...

  3. 用PHP调用证件识别接口识别本地图片

    前置条件 在开始前,请作如下准备:1.学会用PHP输出“Hello World” 2.去聚合数据申请证件识别专用的KEY:https://www.juhe.cn/docs/api/id/153 操作步 ...

  4. 用HTTP方式调用gearman任务处理

    本来以为是个挺美好的东西,结果... 这样的方式非常不安全,尤其是假设暴露在公网地址,非常easy被攻击,并且gearman的http服务远没有专业的webserver健壮. 攻击方式非常easy:t ...

  5. Windows API方式直接调用C#的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C++、VB、Delphi甚至java都可以)

    原始链接 https://www.cnblogs.com/Charltsing/p/DllExport.html 这两年,我在VBA应用方面一直有几大痛点:1.多音字转拼音:2.64位下的GZIP解压 ...

  6. C#调用C++ DLL动态库的两种方式

    第一种方式:C++导出函数, c#dllimport 的方式 在很多地方都看到过,如[dllimport "user32.dll"]这种代码,调用windows API,就是通过这 ...

  7. AutoCAD.NET 不使用P/Invoke方式调用acad.exe或accore.dll中的接口(如acedCommand、acedPostCommand等)

    使用C#进行AutoCAD二次开发,有时候由于C#接口不够完善,或者低版本AutoCAD中的接口缺少,有些工作不能直接通过C#接口来实现,所以需要通过P/Invoke的方式调用AutoCAD的其他DL ...

  8. Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)

    文章目录:                   1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...

  9. C# 调用C++ dll 返回char*调用方式(StringBuilder乱码)

    // CDLLDemo.cpp : 定义 DLL 应用程序的导出函数. // #include "stdafx.h" #include "string.h" # ...

随机推荐

  1. Oracle AWRSQRPT报告生成和性能分析

    我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315 对于局部的,比如某个页面列表sql,我们可以使用Oracle的 ...

  2. 震惊!计算机连0.3+0.6都算不对?浅谈IEEE754浮点数算数标准

    >>> 0.3+0.6 0.8999999999999999 >>> 1-0.9 0.09999999999999998 >>> 0.1+0.1+ ...

  3. 接口测试---Python数据处理需要注意的细节

    一.json模块中的dumps方法 请求接口时params肯定是dict类型的,就是这种{"A":"B"},因为需要传json格式的参数到服务端,但是为了降低c ...

  4. openLayers 3知识回顾

    openlayers 知识 前段时间帮助同事重构一个地图类的项目,然后就学习了openLayer3这个框架,但是官网上没有中文版,也没有详细的例子解释,我只能遇到看不懂的就翻译成中文来用,为了方便以后 ...

  5. 通过Jenkins定期清除为None的镜像

    在代码持续交付过程中,依靠Jenkins生产Docker镜像时,会生成许多的名为None的中间镜像,这些镜像在整个项目生产过程完毕后意义不大,还占着空间,需要定期清理,通过手动方式实在是繁琐,也就有了 ...

  6. WebApiClient与Asp.net core DI的结合

    1 WebApiClient 一款基于HttpClient封装,只需要定义c#接口并修饰相关特性,即可异步调用远程http接口的客户端库 WebApiClient WebApiClient.Exten ...

  7. RDIFramework.NET V3.3 Web版新增系统公告、系统新闻模块方便需要的客户

    1.系统新闻功能描述 在RDIFramework.NET V3.3版本中新增了系统新闻模块,用户可以根据实际情况做相应应用,如用在内部业务系统的展示中或网站上新闻的展示.新闻可以分类进行管理,非常的实 ...

  8. SLAM+语音机器人DIY系列:(四)差分底盘设计——4.底盘ROS驱动开发

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  9. Centos7+LVS-DR+keepalived实验(包含sorry-server、日志、及HTTP-GET的健康检测)

    目录检索 一.简介 1.lvs-dr原理请参考原理篇 2.keepalived原理请参考原理篇 3.基于lvs-dr+keepalived故障切换架构图如下: 二.部署 1.环境 2.准备RS的web ...

  10. Redis原理及使用

    一:原理介绍 1:什么是redis?  Redis 是一个基于内存的高性能key-value数据库. 2:Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcache ...