第零步:先搞清楚手上是哪种 PDF
动手之前,花十秒判断一下当前这份 PDF 属于哪一类。所有方法的选择都取决于这个判断,"PDF OCR 怎么这么难"的绝大多数烦恼,都来自把对的工具用在了错的文件上。
Mac 上常见的 PDF 实际上分两大类:
- 带文字层的原生 PDF。从 Word、Pages、LaTeX、浏览器"打印为 PDF"导出的文件都属于这一类。每个字符在文件里都是字形 + 坐标,文字数据是真实存在的——只是看起来像一张图。
- 纯图像的扫描版 PDF。来自扫描仪、手机扫描 App、传真,或者把图片"打印为 PDF"。每一页本质上就是一张图片,文件里根本没有文字数据,只有"看起来像文字"的像素。
判断方法非常简单:用预览打开 PDF,按 Cmd+F,搜一个你眼睛能清楚看到的词——标题里的某个字、人名都行。如果预览高亮出来了,说明这是原生 PDF,根本不需要 OCR,文字本来就在;如果搜不到、但词又明明在画面上,那就是扫描版,需要先 OCR 才能让内容可选可搜。
还有一类混合 PDF值得单独提一下:大部分页是原生文字,但中间夹了几页扫描页(比如签好字的合同页、扫描的附录、传真封面)。这种文件里,Cmd+F 搜得到一部分词、搜不到另一部分。下文几个方法都能处理这种情况,ocrmypdf 还有个 --skip-text 参数,能保留已有的文字层、只对扫描页跑 OCR——非常合适。
方法一:Apple 预览 / 备忘录(已经有文字层时)
如果 Cmd+F 测试通过了,第三方工具都不用装。macOS 处理原生 PDF 已经很多年了,预览能直接选中、复制文字,能跨页选;聚焦搜索默认会索引 PDF 里的文字内容,所以你能从菜单栏直接搜到合同里的某条条款;备忘录粘贴进来格式干净;Pages 拖进去能保留大部分排版。
原生 PDF 唯一会让人想换工具的情况是:文件里"技术上"有文字层,但编码坏了——一些老 PDF 的字符映射表是损坏的,复制粘贴出来全是乱码。这时候按扫描版处理,用下面的方法重新做一次 OCR。
预览的实况文本能用吗?
从 macOS 13 Ventura 起,Apple 的实况文本(Live Text)支持在 PDF 页面上识别文字了。在预览里打开扫描版 PDF,鼠标悬停到一块文字上,光标变成 I-beam,就能拖选、复制。这是真有用的能力,临时"从扫描页里抠一句话"的场景,效果不错。
但有两个需要诚实交代的局限。第一,实况文本只在你当前看到的那一页上工作,没办法批量处理 200 页扫描报告,也没办法让整份文件可搜索。第二,实况文本不会把识别结果写回 PDF 文件——关掉文档、发给同事、换台 Mac 打开,Cmd+F 还是搜不到。它是"看的时候帮你识",不是"改文件"。
方法二:Cheese! OCR——抠片段最快
这是我们自家的工具,先把丑话说在前面:Cheese! OCR 不是整本 PDF 的处理器,它不会把文字层写回文件,也不会通宵批处理 500 页文档。如果这是你的需求,直接跳到方法三。
Cheese! OCR 在 Mac 上跑得最快的,是另一种实际工作中更高频出现的场景:屏幕上开着一份扫描版 PDF,你只是想抠一段、一句引文、一张表、或者一段代码。比如你在写综述,想引用一篇 1970 年代被人扫成 PDF 的论文里的某段话;或者乙方发来的合同是扫描件,你要把"违约责任条款"那一段贴到飞书群里讨论;或者读一篇外刊论文,想把一整段丢进翻译器;或者从公众号扫描截图、知乎的扫描原图里抠引文。
流程是:
- 按下全局快捷键(默认 ⇧+⌘+E)。
- 像截图一样,在 PDF 页面上拖一个矩形框选要识别的文字。
- 识别结果直接进剪贴板,粘到任何地方都行。
三个细节让它在"抠片段"这个用法上比其他方案快:快捷键是全局的,不用切应用;识别走 Apple Vision 框架在本机完成,没有网络往返、没有把机密页面上传出去的可能;结果直接进剪贴板,没有"先存成 txt、再打开、再复制"的中间步骤。
隐私这一点不是泛泛而谈。Cheese! OCR 在 App Store 沙盒里申请的网络权限是零——不是"我们承诺不联网",而是操作系统层面就阻止它发起任何网络连接。对涉及合同、病历、内部资料的页面来说,这是和"理论上可能联网的工具"实打实的区别。
用它的判断标准很简单:如果你处理的单位是"片段",用它最划算;如果你要让"整份文件"变得可搜索,请看下一节。
方法三:用 ocrmypdf 给整份 PDF 做 OCR(免费、开源)
当目标是"让整份 PDF 都可搜索"——每一页可选、每个词都能被 Cmd+F 或聚焦搜索找到——Mac 上最好的免费方案是 ocrmypdf。这是一个开源项目,底层包了 Tesseract,自带去倾斜、清噪等图像预处理,最后把干净的文字层写回 PDF 的副本里。
装了 Homebrew 的话,安装一条命令就够:
brew install ocrmypdf
最基本的用法是两个参数——输入文件和输出文件:
ocrmypdf input.pdf output.pdf
纯英文 PDF 就这一行命令完事。输出文件视觉上和原文件一模一样,但每一页背后都多了一层不可见的文字层。现在你能在预览里 Cmd+F 找到内容、能复制粘贴、能发给同事让对方也能搜到。原文件没动。
多语言 / 非英文 PDF
非英文文档,用 -l(或 --language)参数指定语种。Tesseract 用三字母代码:
ocrmypdf -l eng+chi_sim+jpn+kor input.pdf output.pdf
用加号能叠多个语种,特别适合那种中英混排的学术论文、引文跨语种的文档,或者中日韩混排的资料。前提是对应语种的 Tesseract 语言包要装上;用 Homebrew 跑一句 brew install tesseract-lang 一般能覆盖常用语种。
处理真实文档常用的几个参数
--skip-text——已经有文字层的页跳过,只对扫描页做 OCR。处理混合 PDF 必备。--rotate-pages——自动检测并修正侧着扫、倒着扫的页面。--deskew——把略微倾斜的扫描页摆正,能明显提升识别准确率。--clean——OCR 前给页面图像做去噪,对老旧、画质差的扫描有帮助。--output-type pdfa——输出 PDF/A 归档格式,部分法律或机构归档场景需要。
ocrmypdf 的代价是:它是命令行工具。如果你对 Terminal 不陌生,它在"整本 PDF OCR"这个任务上是 Mac 上最干净、最快、最尊重隐私的选择。如果 brew install 像天书,请看方法四。
方法四:PDFPen Pro 等商业 GUI 工具
对想要图形界面、不想敲命令的人,PDFPen Pro(来自 Smile Software)是 Mac 上的老牌选择。它能打开扫描版 PDF、跑 OCR、让你编辑识别后的文字、再保存为可搜索 PDF——全程在普通 Mac App 界面里完成。价格方面历史上一次性买断在 100 美元上下浮动,建议买之前去官网看一眼当前定价,因为版本和升级费偶尔有变动。
同类产品还有:Nitro PDF Pro、Readdle 的 PDF Expert(OCR 是付费插件)、ABBYY FineReader for Mac(更强、更贵,常被档案与研究类工作流选用)。它们做的事情大同小异——打开 PDF、点 OCR、保存带文字层的文件——之所以都收钱,是因为它们的客户群体本来就是不想打开 Terminal 的那群人。
判断标准:一个季度才 OCR 一次的,ocrmypdf 让你为一次任务学命令行不太划算,PDFPen 这种又因为你顺便能用编辑器其它功能而显得不亏;一周 OCR 几次的,GUI 工具省下来的折腾时间值回票价。
关于 Adobe Acrobat
Acrobat Pro 是历史上的默认选择,到现在依然能用。我们没有把它放在前面的原因:它是订阅制的(每月 20 美元起,看具体方案),OCR 流程在某些路径下会经过 Adobe 云端服务(取决于你点了哪个按钮),而且单纯就"让扫描 PDF 可搜索"这件事来说,它相对 ocrmypdf 是杀鸡用牛刀——后者免费、本地、效果不输。
如果你本来就因为表单填写、复杂编辑、企业合规需要在用 Acrobat,它的 OCR 完全够用,不必另装别的。如果你考虑专门为了 OCR PDF 去订阅 Acrobat,别。ocrmypdf 或 PDFPen Pro 都能用更少的钱办成。
决策矩阵
整理成一张表:
| 方法 | 最适合的场景 | 价格 | 隐私 | 速度 |
|---|---|---|---|---|
| Apple 预览 / 备忘录 | 本来就带文字层的原生 PDF | 系统自带、免费 | 完全本地 | 瞬时 |
| Cheese! OCR | 从扫描 PDF 里抠片段、引文、表格 | $5.99 一次性买断 | 本地、零网络权限 | 每段几秒 |
| ocrmypdf | 整本 PDF 可搜索化、批处理 | 免费开源 | 完全本地 | 较慢(整份) |
| PDFPen Pro 等 | 不想敲命令的整本 OCR | 约 $100+ 一次性(浮动) | 完全本地 | 与 ocrmypdf 接近 |
| Adobe Acrobat Pro | 本来就订阅着用 | 每月 $20 起 | 混合(部分功能走云) | 接近 |
怎么选,一句话
先 Cmd+F 测一下。能搜到——直接用预览,结束。搜不到——再问自己要的是片段还是整本:要片段,Cheese! OCR;要整本、习惯命令行,ocrmypdf;要整本、只想点鼠标,PDFPen Pro;本来就在订 Acrobat,那就用 Acrobat;考虑专门为了 OCR 订 Acrobat,别。
大多数人最后会同时用其中两种,而不是一种。比如 ocrmypdf 一个月跑一次档案批处理,加一个截图识字工具应付每天"从这份 PDF 里抠句话"的小活;或者 PDFPen 应付大活、实况文本应付偶尔的一次。两个类别是互补,不是竞争。
如果你对其中某个方法还有具体疑问,下面 FAQ 里收了几个最常被问到的。