zoukankan      html  css  js  c++  java
  • C#使用OneNote的图片文字识别功能(OCR)

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

  • 相关阅读:
    input搜索框实时检索功能实现(超简单,核心原理请看思路即可)
    django blank 和autonow
    dwebsocket的坑
    vue 动态添加active+父子传值
    NO 2,人生苦短,我学python之python+selenium元素定位
    NO 1,人生苦短,我学python之python+selenium自动化环境搭建
    SPU与SKU概念
    数据库,缓存数据一致性常用解决方案总结
    利用注解 + 反射消除重复代码
    Nacos学习与实战
  • 原文地址:https://www.cnblogs.com/Charltsing/p/OneNoteOCR.html
Copyright © 2011-2022 走看看