NormCap
基于OCR的屏幕捕获工具,用于捕获信息而非图像。适用于Linux、macOS和Windows。
链接: 源代码 | 文档 | 常见问题 | 发布版本 | 更新日志
快速开始
Windows
Linux
- NormCap-0.5.8-x86_64.AppImage (二进制文件)
- AUR上的
normcap
(Arch/Manjaro) - FlatHub上的com.github.dynobo.normcap (FlatPak)
macOS
注意:首次启动时您需要允许未签名的应用程序:"系统偏好设置" → "安全性与隐私" → "通用" → "仍要打开"。您还需要允许NormCap截取屏幕。(#135)
- NormCap-0.5.8-x86_64-macOS.dmg (x86/64安装程序)
- NormCap-0.5.8-arm64-macOS.dmg (M1安装程序)
安装Python包
作为上述预构建包的_替代方案_,您可以安装NormCap Python包(适用于Python >=3.9),但过程稍微复杂一些:
在Linux上
# 安装依赖项 (Ubuntu/Debian)
sudo apt install build-essential tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev wl-clipboard
## 安装依赖项 (Arch)
sudo pacman -S tesseract tesseract-data-eng wl-clipboard
## 安装依赖项 (Fedora)
sudo dnf install tesseract wl-clipboard
## 安装依赖项 (openSUSE)
sudo zypper install python3-devel tesseract-ocr tesseract-ocr-devel wl-clipboard
# 安装normcap
pip install normcap
# 运行
./normcap
在macOS上
# 安装依赖项
brew install tesseract tesseract-lang
# 安装normcap
pip install normcap
# 运行
./normcap
在Windows上
1. 使用UB Mannheim提供的安装程序安装Tesseract 5
。
2. 找到Tesseract基础文件夹的路径。它应包含一个/tessdata
子文件夹和tesseract.exe
二进制文件。根据您是将Tesseract安装到系统级还是用户空间,基础文件夹应为:
C:\Program Files\Tesseract-OCR
或
C:\Users\<USERNAME>\AppData\Local\Programs\Tesseract-OCR
3. 调整环境变量:
-
创建一个环境变量
TESSDATA_PREFIX
,并将其设置为_您的_Tesseract基础文件夹,例如:"系统属性" → "高级"选项卡 → "环境变量..." → "新建..." → 变量:TESSDATA_PREFIX
, 值:"C:\Program Files\Tesseract-OCR"
-
将Tesseract的基本文件夹附加到环境变量
PATH
中,例如:"系统属性" → "高级"选项卡 → "环境变量..." → "用户变量"部分 → 选择PATH
→ "编辑..." → 添加新条目"C:\Program Files\Tesseract-OCR"
-
要测试您的设置,打开一个新的
cmd
终端并运行:tesseract --list-langs
4. 安装并运行NormCap:
# 安装normcap
pip install normcap
# 运行
normcap
为什么叫"NormCap"?
参见XKCD:
开发
设置开发环境的先决条件是: Python >=3.9、 hatch和 Tesseract >=5.0(包括语言数据)。
# 克隆仓库
git clone https://github.com/dynobo/normcap.git
# 进入项目目录
cd normcap
# 创建虚拟环境并安装依赖
hatch env create
# 注册预提交钩子
hatch run pre-commit install
# 在虚拟环境中运行NormCap
hatch run python -m normcap
致谢
本项目使用了以下非标准库:
- pyside6 - Qt UI框架的绑定
并且依赖于外部软件:
- tesseract - OCR引擎
- wl-clipboard - Wayland剪贴板实用程序
- xclip - X11剪贴板的命令行界面
打包使用:
- briefcase - 将Python项目转换为独立应用
感谢这些优秀工具的维护者!
类似的开源工具
如果NormCap不能满足您的需求,可以尝试这些替代方案(无特定顺序):
- TextSnatcher(Linux)
- GreenShot(Linux, macOS)
- TextShot(Windows)
- gImageReader(Linux, Windows)
- Capture2Text(Windows)
- Frog(Linux)
- Textinator(macOS)
- Text-Grab(Windows)
- dpScreenOCR(Linux, Windows)
- PowerToys Text Extractor(Windows)
认证
贡献者
使用contrib.rocks制作