使用AsposeOCR API转图片文本到Excel时遇运行时错误求助
问题描述
尝试使用AsposeOCR API将图片中的文本读取到Excel文件中,完成安装和配置后运行时出现如下错误:
Exception in thread "main" java.lang.ExceptionInInitializerError ,
caused by: java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy...
报错发生在代码第4行,代码如下:
public static void read(){ AsposeOCR api = new AsposeOCR(); File imgfile = showDialog(); RecognitionSettings setts = new RecognitionSettings(); // 报错行 RecognitionResult rs = api.RecognitionPage(imgfile.getAbsolutePath(), setts); rs.save("excel.xlsx", Format.Xlsx); }
解决方案
- 检查依赖完整性:该错误多由AsposeOCR依赖包缺失或版本不匹配导致。确认已引入所有必要的AsposeOCR核心包及关联依赖(如Aspose.Cells、Aspose.Imaging,用于Excel保存和图片处理),且所有依赖版本保持一致。
- 验证JDK版本兼容性:AsposeOCR对JDK版本有明确要求,建议使用JDK 8、11等LTS版本,避免使用过旧(如JDK 7及以下)或非稳定版JDK。
- 确认许可证配置:未正确加载Aspose许可证可能触发初始化异常。在创建
AsposeOCR实例前,确保已完成许可证加载:License license = new License(); license.setLicense("Aspose.OCR.lic"); // 替换为你的许可证文件路径 - 清理项目缓存并重建:IDE缓存或构建残留可能导致依赖加载异常,执行项目clean操作后重新构建,确保依赖正确导入。
- 简化代码排查:暂时移除
RecognitionSettings,调用无参数重载方法api.RecognitionPage(imgfile.getAbsolutePath()),若能正常运行,则说明RecognitionSettings相关依赖存在问题,需检查该类的依赖是否完整。
内容的提问来源于stack exchange,提问作者Olatuneday
相关产品推荐
相关产品推荐

