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. Python就业指导

    一年一度的金三银四招聘旺季又要到了,最近有很多同学希望我能给他们一些关于python的就业指导:之前出过一期关于java的就业指导,但是并不是很完善,所以希望这期关于python的就业指导能够很全面很 ...

  2. Promise来控制JavaScript的异步执行

    一般来说,js.html都是按照从上至下这种方式来进行执行的.这就造成了,基本上所有的执行过程都是在一个线程中进行. 我们都知道,ajax的使用大大的提高了前后台的沟通效率,那么有没有什么方式,让js ...

  3. SpringBoot实用小技巧之动态设置SpringBoot日志级别

    有时线上问题我们用打日志的方式来观察错误或埋点参数,但由于这些日志如果都打出来会占用大量存储空间而且覆盖了一些有效信息,所以线上级别一般设置INFO,调试级别用作特殊情况下.此时如果线上想查看调试级别 ...

  4. C++ 编译期封装-Pimpl技术

    Pimpl技术——编译期封装 Pimpl 意思为“具体实现的指针”(Pointer to Implementation), 它通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏, 是隐藏实 ...

  5. C++ Sqlite3的基本使用

    |SQLite3简介  SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程. SQL语句是S ...

  6. 使用 线性规划 解决 数字 排序问题, +Leapms模型

    问题 将如下一组数字从大到小排序. {10, 20, -32, 177, 0, -11.5, 19, 7, 6.2, -6.28, -2.71, 44} 解决办法 建立数学模型,给出各个数字的次序值. ...

  7. C#线程安全使用(五)

     CancellationToken的多种应用 这是线程安全的最后一篇了,主要介绍CancellationToken的多种应用. 1,ThreadPool直接启动线程,传递CancellationTo ...

  8. 4.3dotnet watch run「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. dotnet run的麻烦 如果您使用的是vs code进行跨平台开发,那么dotnet watch run对你的 ...

  9. VsCode+Node的前端环境搭建及其理解并创建一个前端目录

    既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 VsCode VsCode的安装 VSCode中文设置 VsCode 扩展 VsCod ...

  10. composer windows下安装

    composer windows安装  因要使用PhpSpreadsheet处理excel表格 选择composer安装 1. 下载Composer-Setup.exe 2.点击直接运行---选择ph ...