{"id":15035575,"url":"https://github.com/anylisten/tools-ocr","last_synced_at":"2025-05-15T01:04:12.049Z","repository":{"id":41263016,"uuid":"177108377","full_name":"AnyListen/tools-ocr","owner":"AnyListen","description":"树洞 OCR 文字识别（一款跨平台的 OCR 小工具）","archived":false,"fork":false,"pushed_at":"2024-05-16T17:27:43.000Z","size":22159,"stargazers_count":3015,"open_issues_count":22,"forks_count":481,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-04-13T20:44:39.701Z","etag":null,"topics":["cross-platform","javafx","mac","ocr","screenshot","windows"],"latest_commit_sha":null,"homepage":"https://ifish.fun","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnyListen.png","metadata":{"files":{"readme":"readme-cn.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-22T09:12:25.000Z","updated_at":"2025-04-11T15:03:24.000Z","dependencies_parsed_at":"2024-08-04T04:05:47.111Z","dependency_job_id":"f51dc964-d4b1-41d5-b974-107459ce7c79","html_url":"https://github.com/AnyListen/tools-ocr","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyListen%2Ftools-ocr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyListen%2Ftools-ocr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyListen%2Ftools-ocr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyListen%2Ftools-ocr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnyListen","download_url":"https://codeload.github.com/AnyListen/tools-ocr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782280,"owners_count":21160716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","javafx","mac","ocr","screenshot","windows"],"created_at":"2024-09-24T20:28:57.386Z","updated_at":"2025-04-13T20:44:43.850Z","avatar_url":"https://github.com/AnyListen.png","language":"Java","readme":"# 树洞 OCR\n\n[English](./readme.md) | [中文](./readme-cn.md)\n\n## 介绍\n\n- 本地 OCR 识别\n  : 树洞 OCR 文字识别工具无需联网，通过调用本地 OCR 技术，基于 Paddle OCR 模型和深度学习框架如 PyTorch、DJL，提供快速准确的文字识别。\n- 跨平台兼容\n  : 基于 java 1.8 和 JavaFX 开发，支持在不同操作系统上运行，包括 Mac OS X 12.6 及以上版本。\n- 强大的功能支持\n  : 除了基础的文字识别，还包括 PDF 识别、图片文字识别、快捷键截图识别等功能.\n\n## 主要依赖库\n\n- jdk 1.8\n- javafx\n- djl\n- pytorch\n- onnx\n- paddle ocr\n- opencv\n\n## 开源地址\n\n[gitee](https://gitee.com/ppnt/tools-ocr) | [github](https://github.com/litongjava/tools-ocr)\n\n## document\n\nhttps://tree-hole-ocr-docs.vercel.app/\n\n## required\n\n- Mac OS X 12.6 因为依赖 djl 0.25.0\n\n## 安装\n\n\u003e - **安装路径请勿包含中文字符**；\n\u003e - 本程序使用 JavaFX 开发，提供的安装包中已经包含了 Java\n\u003e - 从[release](https://github.com/litongjava/tools-ocr/releases/)下载最新版本解压安装即可\n\n## 程序使用\n\n### 截图\n\n- 方法一：在程序主界面点击截图按钮；\n- 方法二：点击截图快捷键 F4。\n\n### 圈选区域\n\n进入截图界面后，按下鼠标左键，然后拖动即可圈选所要截取的区域；\n圈选结束后，可以对圈选的区域进行微调：\n\n- 使用 **方向键**，可以对所选区域的右边界和上边界进行微调；\n- 使用 **Shift+方向键**，可以对所选区域的左边界和下边界进行微调；\n- 使用 **Ctrl+A**，可以全选整个屏幕。\n\n### 确定圈选\n\n圈选完成后，点击 `Enter` 或者 `Space` 键，或者鼠标左键双击即可确认圈选；确认圈选后，会自动对所选区域进行 OCR 文字识别。\n\n![](readme_files/3.jpg)\n![](readme_files/4.jpg)\n\n## 本地构建\n\n### 下载模型并解压\n\n```\nwget https://github.com/litongjava/tools-ocr/releases/download/model-ppocr-v4/ch_PP-OCRv4_rec_infer-onnx.zip\nwget https://github.com/litongjava/tools-ocr/releases/download/model-ppocr-v4/ch_PP-OCRv4_det_infer-onnx.zip\n```\n\n解压模型\n\n```\nmkdir models/ch_PP-OCRv4_rec_infer\nmkdir models/ch_PP-OCRv4_det_infer\nunzip /Users/mac/Downloads/ch_PP-OCRv4_rec_infer-onnx.zip -d models/ch_PP-OCRv4_rec_infer\nunzip /Users/mac/Downloads/ch_PP-OCRv4_det_infer-onnx.zip -d models/ch_PP-OCRv4_det_infer\n```\n\n### 构建程序\n\n你下载代码在本地进行构建,构建命令如下\nwindows\n\n```\nmkdir target\\jfx\\app\ncp -r models target\\jfx\\app\nmvn jfx:native -DskipTests -f pom.xml\n```\n\nmacos\n\n```shell script\nrm -rf target/jfx/app\nmkdir -p target/jfx/app\ncp -r models target/jfx/app\nmvn jfx:native -DskipTests -f pom.xml\n```\n\n## 查看系统运行日志\n\ncd treehole.app/Contents/java/logs\n\n## 注意事项\n\n### MAC 权限设置\n\n由于监控了截图快捷键，因此 MAC 需要开启相应的权限，请见下图：\n笔者设置如下\n\n- Settings--\u003eSecurity and Privacy--\u003eAccessbility\n  ![MAC权限设置](readme_files/5.jpg)\n- Settings--\u003eSecurity and Privacy--\u003eScreen Recording\n  ![2](readme_files/2.jpg)\n\n## 常用目录\n\n- 日志目录/Applications/treehole.app/Contents/Java/logs\n- 临时图片保存目录 /Applications/treehole.app/Contents/Java\n\n## TODO\n\n- [x] PDF 识别\n- [x] 图片文字识别\n  - [x] 识别结果文本对齐（暂未实现多分栏）\n  - [x] 全屏模式下截图\n  - [x] 添加正在识别动画\n  - [x] 多屏支持\n- [ ] 文本翻译\n- [ ] 公式识别\n- [ ] 表格识别\n- [ ] 软件设置\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanylisten%2Ftools-ocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanylisten%2Ftools-ocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanylisten%2Ftools-ocr/lists"}