01一句话
OCRmyPDF 是一个命令行工具:给扫描版 PDF 加一层看不见的文字层。纸还是那张纸,但从"一张图"变成"可以搜索、可以复制的文档"。GitHub 34,994★,MIT 许可证,pip 一条命令安装,全程本地跑,零 Key。
02亲测过程和实测读数
环境与安装(可逐字复现)
# macOS;python3 3.14.3 pip install ocrmypdf # → 17.13.0 brew install tesseract tesseract-lang # → tesseract 5.5.3 / tesseract-lang 4.1.0
跑法一条
ocrmypdf -l eng+chi_sim sample-ep56-scanned.pdf out.pdf
# 计时:/usr/bin/time -p
测试样张:1 页 / 119,555B / 图片版扫描 PDF / OCR 前可提取文字 0 字符。
2.05s
总耗时(/usr/bin/time -p)
103,018B
输出大小,比原件小 13.8%(顺带图片优化)
266
识别字符数,中英混排可命中
编号 20261012-56-34994 去空格归一化后逐字可搜,标题/版本/许可证字段全部读出。(OCR 对中文插入空格是已知行为,全文搜索命中按去空格归一化判定。)
03两个如实交代
1
中文个别字读错("v17.13.0"读成"v17 BO")——OCR 不是打印,编号类内容建议 OCR 后抽查;本次英文部分零错。小字号段落比大标题识别损失更明显(如「验收口径」节)——这正是 OCR 的真实能力边界,不美化。
2
中文文字层默认"可搜索可复制",想在阅读器里高亮显示需装 NotoSansSC 字体——工具跑完会自己提示。
04适合谁
- 扫描合同 / 发票 / 盖章文件的批量归档检索;
- 论文库"拍照版"PDF 的全文检索;
- 命令行批量处理(
--jobs并行)。
05与上期 anydoc 的分工
anydoc 把文档转 Markdown 给 AI 读;OCRmyPDF 只加文字层、不动原貌,让扫描件本身可搜索。不重叠。
06本期讲解视频
中文配音(zh-CN-YunjianNeural)+ 硬字幕,按冻结文案逐字讲解本期全部内容。