VBA调用Office的MODI组件识别图片中的文字

2024-08-23 09:04

本文主要是介绍VBA调用Office的MODI组件识别图片中的文字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      Microsoft Office Document Imaging (MODI)是Office 2003-2007版本中的一个利用OCR(Optical Character Recognition 光学字符识别)技术识别图像中的文字并转换为文本的一个组件。在VBA中使用该组件需要在“工具-引用”中将其设置为“可使用的引用”,如下图:

VBA识别代码如下:

Private Sub Select_JPG_File()SelectedFilePath="D:\1.jpg"OCRImageFile (SelectedFilePath)MsgBox "识别成功!", vbOKOnly, "提示"
End Sub' 利用微软MODI控件,实现OCR文字识别。
' 1. 需要安装微软MODI控件,可以通过Office原装安装光盘添加工具里面OCR组件。
' 2. 点击“开发工具->Visual Basic->工具->引用->Microsoft Office Document Imaging 12.0 Type Library”Function OCRImageFile(ByVal ImageFile As String)Dim objDocument As New MODI.DocumentDim objImage As New MODI.ImageobjDocument.Create ImageFileSet objImage = objDocument.Images.Item(0)On Error Resume NextobjImage.OCR miLANG_CHINESE_SIMPLIFIED, False, False    ' 以中文模式识别,并禁止自动检测If Err.Number = 0 Then'MsgBox objImage.Layout.Text  ' 显示识别的文本Sheets("Sheet1").Cells(1, 1) = objImage.Layout.text    ' 将识别结果写入单元格ElseMsgBox Err.DescriptionEnd IfobjDocument.Close FalseSet objDocument = Nothing
End Function

       虽然有高手提取了该组件的独立安装包,并设法部署在Office2010版本中使用,但经过笔者反复试验,其成功率非常低,仅在Office2010精简版中部署成功过,在Office2010正版安装环境中从未成功过,总是会造成Office应用软件直接崩溃,并提示错误信息如下:

问题签名:
  问题事件名称:    APPCRASH
  应用程序名:    EXCEL.EXE
  应用程序版本:    14.0.4756.1000
  应用程序时间戳:    4b9c08e8
  故障模块名称:    KERNELBASE.dll
  故障模块版本:    6.1.7601.24545
  故障模块时间戳:    5e0eb7d0
  异常代码:    c06d007f
  异常偏移:    0000845d
  OS 版本:    6.1.7601.2.1.0.256.48
  区域设置 ID:    2052

有关该问题的其他信息:
  LCID:    2052
  skulcid:    2052

        由于MODI组件很难在Office2010以上版本中成功部署,且其对图片文字的识别能力较差,准确率又不高,建议改用OneNote组件来代替它。OneNote是Office中的一个电子笔记本软件,它支持使用触笔、声音或视频创建笔记,且能够直接识别和复制图片中的文字,并粘贴到其他文档中进行编辑,非常方便,且识别率高,如下图:

这篇关于VBA调用Office的MODI组件识别图片中的文字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098945

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因