Text-Grab
Windows 极速截屏 OCR 工具,一键提取屏幕上任意文字,PowerToys Text Extractor 的开源原型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Windows 极速截屏 OCR 工具,一键提取屏幕上任意文字,PowerToys Text Extractor 的开源原型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你在看一个 PDF 文件,里面的图表旁标注着一行小字,但 PDF 里的图片无法选中文字;你在浏览网页视频,画面里闪过一句台词,但播放器不支持截图取词;你拿到一张发票,想把上面的金额整理进 Excel,却只能手动一个数字一个数字敲。
这些「看得见却复制不了」的文字,曾经是 Windows 用户的老大难问题。直到 Text-Grab 出现——它用 Windows 自带的 OCR 引擎,把屏幕上任意位置的文字「截」下来,扔进剪贴板,整个过程不超过两秒。

图1:Text-Grab 启动界面
Text-Grab 由独立开发者 Joe Finosi(GitHub @TheJoeFin)开发和维护,是一款开源的 Windows 桌面 OCR 工具。该项目在 GitHub 上已积累超过 4700 颗星,下载量突破数十万次,并被收录进 Microsoft Store,成为 Windows 平台评分最高的效率工具之一。
这个项目的诞生源于一个非常具体的痛点。Joe 同时也是微软官方工具 PowerToys Text Extractor(文字提取器) 的早期贡献者——Text-Grab 的「全屏捕获模式」(Full-Screen Grab)直接成为 PowerToys Text Extractor 的技术原型。换句话说,今天 Windows 11 用户在 PowerToys 里用到的文字提取功能,骨子里刻着 Text-Grab 的基因。
不过 Text-Grab 比 PowerToys 走得更远:它不只是一键截屏取词,而是一套完整的多模式文字工作流,覆盖了从截图识别、局部框选、文本编辑到快捷词库的全链路需求。

图2:全屏捕获模式(Text Extractor 的原型)
如果说 OCR 是把图片变成文字的「翻译官」,那 Text-Grab 就是给这个翻译官配了一个超级快捷的操作面板——不用打开任何复杂软件,不用联网调用云端 API,只要一个快捷键,屏幕上哪里的文字都能瞬间变成可编辑的文本。
你可以把它理解为:Windows 自带截图功能的「文字增强版」,不仅能截,还能读。
Text-Grab 提供了四种工作模式,复杂度从「零配置」到「深度定制」逐级递增。
这是 Text-Grab 最核心的功能,也是它成为 PowerToys Text Extractor 原型的杀手锏。操作方式极为直觉:按下快捷键(默认 Win + Shift + T),屏幕变暗,用户用鼠标框选一片区域,选区内的所有文字立刻被识别并复制到剪贴板。
更巧妙的是第二个用法:单击任意单词,Text-Grab 会自动识别出你鼠标落点所在的单词,直接复制。整个过程无需多步操作,不需要打开任何菜单。
技术细节: Text-Grab 调用的是 Windows 10/11 自带的
Windows.Media.OcrAPI,这是一个完全本地运行的 OCR 引擎,不需要联网,也不收集任何用户数据。
Grab Frame 是一个可以自由拖动位置的半透明浮动窗口,上面只有搜索框和一个「Grab」按钮。你可以把它钉在屏幕上任意位置,然后随时截取窗口内的文字。它的妙处在于:不需要中断当前工作流,始终置顶待命。
这个模式完全不涉及 OCR,是一个专注于文本处理的「纯文本编辑器」。内置大量实用工具:批量转换大小写、正则表达式提取、去重、去除空行、文件夹内所有图片批量 OCR、堆叠数据转表格、剪贴板监听……解决了 OCR 识别后的「后半段」问题。
这不是 OCR,而是一个自定义快捷短语库。预先存储常用网址、邮箱、零件编号,按下 Win + Shift + Q 调出词库,输入关键词检索,回车即复制——每天省下大量重复输入。

图3:快捷词库模式
| 方式 | 操作难度 | 说明 |
|---|---|---|
| Microsoft Store | ⭐ 极简 | 一键安装,自动更新 |
| GitHub Releases | ⭐ 简单 | 下载 .exe,双击运行 |
| Scoop | ⭐ 简单 | scoop install text-grab |
| Chocolatey | ⭐ 简单 | choco install text-grab |
推荐普通用户通过 Microsoft Store 安装,自动更新、不占系统盘。
Text-Grab 基于 C# / WPF / .NET 6 开发,构建依赖 Visual Studio 2022(社区版免费)+ Windows 10 SDK。clone 仓库后,用 VS 打开 Text-Grab.sln,设置 Text-Grab-Package 为启动项目,按 F5 即可运行。
| 功能 | 默认快捷键 |
|---|---|
| 全屏捕获 | Win + Shift + T |
| 快捷词库 | Win + Shift + Q |
| 新建 Grab Frame | Win + Shift + G |
| 新建编辑窗口 | Win + Shift + E |
Text-Grab 是一款典型的 Windows 原生桌面应用:
| 层次 | 技术选型 |
|---|---|
| UI 框架 | WPF(Windows Presentation Foundation) |
| 样式库 | WPF-UI(Fluent Design 风格) |
| OCR 引擎 | Windows.Media.Ocr(系统内置) |
| 二维码识别 | ZXing.Net |
| 外部进程调用 | CliWrap |
| MVVM 框架 | Community Toolkit MVVM |
| 语言 | C# / .NET 6 |
这是整个项目最关键的技术决策。Windows.Media.Ocr 是 Windows 10/11 内置的 OCR API,支持超过 100 种语言,完全离线运行,响应速度快(通常 < 200ms),且不需要用户额外安装任何依赖。
这与很多需要联网调用云端 API 的竞品形成了鲜明对比——Text-Grab 是一款真正「零门槛」的本地 OCR 工具。
Text-Grab 被打上了 local-ai 标签,原因在于它利用了 Windows 系统级的机器学习模型来完成 OCR 识别。Windows.Media.Ocr 的背后是微软预训练的神经网络模型,专门针对自然场景文字识别优化,但这一切都发生在本地,不需要任何云端 API。
仓库采用标准的 WPF 多项目解决方案(.sln),核心目录:Controls/(自定义 UI 控件)、Services/(核心服务)、Models/(数据模型)、Pages/(XAML 页面)。
这是 Text-Grab 最明显的局限,无法在 macOS 或 Linux 上运行。作者在 README 中也提到:Mac 用户可以试试 Text Sniper。
Windows.Media.Ocr 对手写体、艺术字体、低分辨率截图的识别效果较差。这是所有本地 OCR 方案的通病,云端 API 在复杂场景下准确率更高,但需要联网并产生费用。
Text-Grab 没有提供 HTTP API 或命令行批处理接口(仅有简单的命令行参数)。对于需要集成到自动化流程的用户来说,限制较大。
项目由个人维护,虽然响应较为活跃,但缺少企业级的支持保障。
Text-Grab 最有代表性的成就是:它的核心功能被微软采纳,直接进入了 Windows PowerToys。这说明独立开发者的小工具完全可以影响操作系统级别的产品设计。
随着 AI 和 LLM 的爆发,OCR 作为「把现实世界信息注入数字世界」的入口,需求急剧增长。Text-Grab 的轻量化路线(完全本地、无需联网),在隐私敏感的企业场景中特别有吸引力。
基于当前代码结构和社区讨论,未来 Text-Grab 可能的方向包括:
总结: Text-Grab 是一款把「截屏取词」这件事做到极致的工具。它用最少的配置、最直觉的操作,解决了 Windows 用户多年来最头疼的问题。如果你经常需要从图片、视频、PDF 中提取文字,Text-Grab 是目前 Windows 平台上体验最好、最值得推荐的免费解决方案之一。