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调用代码如下:

C#使用OneNote的图片文字识别功能(OCR)的更多相关文章

  1. 小试Office OneNote 2010的图片文字识别功能(OCR)

    原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...

  2. Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍   将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同 ...

  3. python3 图片文字识别

    最近用到了图片文字识别这个功能,从网上搜查了一下,决定利用百度的文字识别接口.通过测试发现文字识别率还可以.下面就测试过程简要说明一下 1.注册用户 链接:https://login.bce.baid ...

  4. JAVA的图片文字识别技术

    从2013年的记录看,JAVA中图片文字识别技术大部分采用ORC的tesseract的软件功能,后来渐渐开放了java-api调用接口. 图片文字识别技术,还是采用训练的方法.并未从根本上解决图片与文 ...

  5. 一篇文章搞定百度OCR图片文字识别API

    一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104

  6. 刚破了潘金莲的身份信息(图片文字识别),win7、win10实测可用(免费下载)

    刚破了潘金莲的身份信息(图片文字识别),win7.win10实测可用 效果如下: 证照,车牌.身份证.名片.营业执照 等图片文字均可识别 电脑版 本人出品 大小1.3MB 下载地址:https://p ...

  7. Python人工智能之图片识别,Python3一行代码实现图片文字识别

    1.Python人工智能之图片识别,Python3一行代码实现图片文字识别 2.tesseract-ocr安装包和中文语言包 注意:

  8. 【图片识别】java 图片文字识别 ocr (转)

    http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别

    Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...

随机推荐

  1. This network connection does not exist

    This network connection does not exist 在windows server 2008上面map了一个磁盘,共享的folder被我停止共享后,点击该磁盘的disconn ...

  2. 修改Windows默认远程端口号

    1.定位注册表,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],右侧修改 ...

  3. Linux 小知识翻译 - 「邮件服务器」

    这次聊聊「邮件服务器」. 邮件服务器上通常会运行2个服务端软件,「SMTP服务器」和「POP服务器或者IMAP服务器」. 这2个东西,也许使用邮件客户端的人立马就明白了.因为设置邮件客户端的时候,需要 ...

  4. 获取自定义data的几种属性

    //获取data属性的几种方法 var id = this.getAttribute('data-id'); var id = $(this).attr('data-id'); var id = $( ...

  5. Ecelipse上添加Server

    第一步,打开eclipse工具,点击菜单栏中的"Help",选择"Install New Software" 第二步,点击Add按钮 第三步,Name输入:&q ...

  6. Interrupt

    Interrupt ,给线程发送一个中断信号 给t1线程发送了中断信号,t1对线程的中断信号判断后,跳出循环,线程t1运行结束 public class Demo { public static vo ...

  7. socket.setSoTimeout(1000);

    这个用来设置与socket的inputStream相关的read操作阻塞的等待时间,超过设置的时间了,假如还是阻塞状态,会抛出异常java.net.SocketTimeoutException: Re ...

  8. Python 的 GUI 开发工具

    kivy https://kivy.org/#home flexx https://flexx.readthedocs.io/en/stable/

  9. 利用filter替换字符串中的空格

    s = "abc def ghi xy" print(','.join(filter(lambda x: x, s.split(' '))))

  10. Apache 2.4.27 局域网访问提示 You don't have permission to access / on this server

    问题: 本机用localhost和ip都可以访问,局域网不可以访问,并且出现提示 You don't have permission to access / on this server. 解决: 如 ...