# ocrTool **Repository Path**: code-collab/ocr-tool ## Basic Information - **Project Name**: ocrTool - **Description**: 一款功能强大的OCR文字识别桌面应用,支持多种云服务提供商和本地识别引擎,提供友好的用户界面和完整的识别历史记录功能。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: ocr, desktop ## README # OCR 识别工具 一款功能强大的OCR文字识别桌面应用,支持多种云服务提供商和本地识别引擎,提供友好的用户界面和完整的识别历史记录功能。 ## 🚀 功能特性 ### 🌐 多平台OCR支持 - **阿里云OCR**:基于阿里云视觉智能开放平台的OCR服务 - **腾讯云OCR**:基于腾讯云AI的OCR服务 - **百度云OCR**:基于百度智能云的OCR服务 - **火山引擎OCR**:基于火山引擎的OCR服务 ### 📝 核心功能 - **图片选择**:支持选择本地图片文件进行识别 - **批量处理**:支持批量识别多张图片 - **历史记录**:自动保存识别历史,支持查看和管理 - **实时日志**:显示详细的识别过程和日志信息 - **配置管理**:提供直观的设置界面,方便配置各云服务API ### 🎨 界面特点 - 简洁直观的用户界面 - 实时显示识别进度和状态 - 支持深色/浅色主题切换 - 响应式设计,适配不同屏幕尺寸 ## 📦 技术栈 - **开发语言**:Java 11 - **GUI框架**:JavaFX 11.0.2 - **构建工具**:Maven 3.8+ - **数据库**:SQLite 3.42+ - **云服务SDK**: - 阿里云OCR SDK 3.1.2 - 腾讯云SDK 3.1.480 - 百度云OCR SDK 4.16.16 - 火山引擎SDK 1.0.264 - **本地OCR**:Tess4J 5.8.0 - **工具库**:Apache Commons IO、FastJSON ## 📥 安装说明 ### 方式一:直接运行可执行文件 1. 从项目的 `target/jpackage/OCRTool` 目录中找到 `OCRTool.exe` 2. 双击运行即可(已包含JRE,无需额外安装Java) ### 方式二:使用Maven构建 1. 确保已安装JDK 11+和Maven 3.8+ 2. 克隆或下载项目代码 3. 进入项目目录,执行以下命令: ```bash # 编译项目 mvn compile # 运行应用 mvn javafx:run # 打包为可执行jar mvn package # 生成包含JRE的安装包 mvn package -DskipTests ``` ## 🎯 使用方法 ### 1. 首次使用配置 1. 运行应用程序 2. 点击右上角的**设置**按钮 3. 在弹出的设置对话框中,选择对应的云服务标签页 4. 输入您的API密钥信息(请确保密钥的安全性) 5. 选择**默认云服务提供商** 6. 点击**保存**按钮 ### 2. 开始识别 1. 在顶部的下拉菜单中选择**OCR识别方式** 2. 点击**选择图片**按钮,选择要识别的图片文件 3. 点击**开始识别**按钮 4. 等待识别完成,结果将显示在下方的**识别结果**区域 5. 识别历史将自动保存到数据库中 ### 3. 查看历史记录 1. 点击右上角的**查看历史记录**按钮 2. 在历史记录窗口中,可以: - 查看所有识别记录 - 按时间、服务提供商等筛选记录 - 复制识别结果 - 删除不需要的记录 ### 4. 日志查看 - 应用程序会实时记录操作日志和识别过程 - 日志信息显示在**操作日志**区域 - 日志包含时间戳、操作类型、状态信息等 ## ⚙️ 配置说明 ### 配置文件位置 应用程序会按照以下顺序查找配置文件: 1. 应用程序当前工作目录(优先级最高) 2. 应用程序所在目录(jar包所在目录) 3. 用户主目录 4. 用户主目录下的`.ocr`目录 5. classpath下的默认配置(优先级最低) ### 配置项说明 配置文件采用properties格式,主要配置项如下: #### 阿里云OCR配置 ```properties # 阿里云API Key aliyun.api.key=your_api_key # 阿里云Secret Key aliyun.secret.key=your_secret_key # 阿里云区域(默认:cn-hangzhou) aliyun.region=cn-hangzhou ``` #### 腾讯云OCR配置 ```properties # 腾讯云Secret ID tencent.secret.id=your_secret_id # 腾讯云Secret Key tencent.secret.key=your_secret_key # 腾讯云区域(默认:ap-guangzhou) tencent.region=ap-guangzhou ``` #### 百度云OCR配置 ```properties # 百度云API Key baidu.api.key=your_api_key # 百度云App ID baidu.app.id=your_app_id # 百度云Secret Key baidu.secret.key=your_secret_key ``` #### 火山引擎OCR配置 ```properties # 火山引擎Access Key ID volcano.access.key.id=your_access_key_id # 火山引擎Secret Access Key volcano.secret.access.key=your_secret_access_key # 火山引擎区域(默认:cn-north-1) volcano.region=cn-north-1 ``` #### 其他配置 ```properties # 默认云服务提供商(aliyun/tencent/baidu/volcano) default.provider=aliyun ``` ## 📊 项目结构 ``` ocr/├── src/ │ ├── main/ │ │ ├── java/com/ocr/ # 主源码目录 │ │ │ ├── AliyunOCR.java # 阿里云OCR实现 │ │ │ ├── BaiduOCR.java # 百度云OCR实现 │ │ │ ├── ConfigLoader.java # 配置加载器 │ │ │ ├── HistoryDB.java # 历史记录数据库 │ │ │ ├── HistoryViewer.java # 历史记录查看器 │ │ │ ├── LocalOCR.java # 本地OCR实现 │ │ │ ├── Main.java # 应用入口 │ │ │ ├── OCRApp.java # 主应用界面 │ │ │ ├── TencentOCR.java # 腾讯云OCR实现 │ │ │ └── VolcanoOCR.java # 火山引擎OCR实现 │ │ └── resources/ # 资源文件目录 │ │ ├── config.properties # 默认配置文件 │ │ ├── favicon.ico # 应用图标 │ │ └── logo.png # 应用Logo │ └── test/ # 测试代码目录 ├── target/ # 构建输出目录 │ ├── classes/ # 编译后的class文件 │ ├── jpackage/ # 打包后的可执行文件 │ └── *.jar # 打包后的jar文件 ├── .idea/ # IntelliJ IDEA项目文件 ├── .vscode/ # VS Code项目文件 ├── config.properties # 本地配置文件 ├── ocr_history.db # 历史记录数据库 ├── pom.xml # Maven配置文件 └── README.md # 项目说明文档 ``` ## 🔧 常见问题 ### Q: 为什么识别失败? A: 请检查以下几点: 1. 网络连接是否正常 2. 云服务API密钥是否正确配置 3. 选择的图片是否清晰 4. 查看日志区域的详细错误信息 ### Q: 如何切换默认的OCR服务提供商? A: 可以通过以下两种方式: 1. 在应用界面顶部的下拉菜单中选择 2. 在设置对话框中设置默认提供商 ### Q: 识别历史保存在哪里? A: 识别历史保存在应用程序目录下的 `ocr_history.db` 文件中(SQLite数据库) ### Q: 如何备份识别历史? A: 直接复制 `ocr_history.db` 文件即可完成备份 ### Q: 应用程序支持哪些图片格式? A: 支持常见的图片格式,如:JPG、PNG、BMP、GIF等 ### Q: 如何提高识别准确率? A: 1. 使用清晰的图片 2. 确保文字区域足够大 3. 选择适合的OCR服务提供商(不同服务对不同场景的识别效果有差异) ## 🤝 贡献 欢迎提交Issue和Pull Request来帮助改进这个项目! ### 开发环境搭建 1. 安装JDK 11+ 2. 安装Maven 3.8+ 3. 克隆项目 4. 使用IntelliJ IDEA或Eclipse打开项目 5. 运行 `mvn compile` 编译项目 6. 运行 `mvn javafx:run` 启动应用 ## 📄 许可证 本项目采用MIT许可证,详情请查看LICENSE文件。 ## 📞 联系方式 如有问题或建议,欢迎通过以下方式联系: - 提交GitHub Issue --- **感谢使用OCR识别工具!** 🎉