
OCRmyPDF
给扫描 PDF 加上可搜索文字层,秒变可检索文档
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 35272
使用教程
环境要求
- 支持 Linux、Windows、macOS 和 FreeBSD 系统
- 可通过系统包管理器安装(Debian/Ubuntu、Fedora、macOS Homebrew/MacPorts/nix、FreeBSD、OpenBSD、Ubu
- 也可使用官方 Docker 镜像,支持 x64 与 ARM 架构
- 需要一个扫描版 PDF 文件(或图片)作为输入
安装与启动步骤
-
1安装 OCRmyPDF
按你的操作系统选择对应安装命令,例如 Ubuntu/Debian 用 apt,macOS 用 Homebrew。
apt install ocrmypdf -
2执行基本 OCR
把扫描版 PDF 作为输入,OCRmyPDF 会输出带文本层的可搜索 PDF。注意输入在前、输出在后。
ocrmypdf input_scanned.pdf output_searchable.pdf -
3指定识别语言
用 -l 指定语言,多个语言用加号连接,例如英语加法语。
ocrmypdf -l eng+fra input_scanned.pdf output_searchable.pdf -
4自动旋转与纠偏
--rotate-pages 可修正页面方向错误,--deskew 可拉直歪斜的扫描页面。
ocrmypdf --rotate-pages --deskew input_scanned.pdf output_searchable.pdf -
5输出 PDF/A 与元数据
--output-type pdfa 生成 PDF/A 归档格式,--title 设置输出标题,--jobs 控制并行核心数。
ocrmypdf --title "My PDF" --jobs 4 --output-type pdfa input_scanned.pdf output_searchable.pdf
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
-l | 否 | 指定 OCR 识别语言,多语言用 + 连接 | eng+fra |
--rotate-pages | 否 | 自动修正页面旋转方向错误 | --rotate-pages |
--deskew | 否 | 自动拉直歪斜的扫描页面 | --deskew |
--title | 否 | 修改输出 PDF 的标题元数据 | "My PDF" |
--jobs | 否 | 设置并行处理的核心数,默认已使用多核 | 4 |
--output-type | 否 | 指定输出类型,pdfa 为 PDF/A 格式 | pdfa |
如何确认成功
命令执行完成后会生成 output_searchable.pdf,用 PDF 阅读器打开应能选中并复制其中的文字,说明 OCR 文本层已添加成功。
常见问题
Q:不同操作系统怎么安装?
A:Debian/Ubuntu 与 WSL 用 apt install ocrmypdf,Fedora 用 dnf install ocrmypdf,macOS 用 brew install ocrmypdf 或 port install ocrmypdf,FreeBSD 用 pkg install py-ocrmypdf。
Q:没有包管理器或平台不支持怎么办?
A:README 指引前往官方文档 https://ocrmypdf.readthedocs.io/en/latest/installation.html 查看安装步骤,也可使用官方 Docker 镜像。
Q:如何识别中文等多语言文档?
A:使用 -l 参数指定语言,多个语言用加号连接,例如 -l eng+fra。
Q:能处理图片输入吗?
A:可以,OCRmyPDF 除了 PDF 输入外也接受图片输入。
Q:输出格式是什么?
A:默认生成 PDF/A 格式,也可通过 --output-type 指定输出类型。
注意事项
- 默认输出即为 PDF/A,适合长期存档。
- 默认会使用多核并行处理,可用 --jobs 调整。
- 扫描页面方向错误或歪斜时,加上 --rotate-pages 和 --deskew 效果更好。
- OCR 文本层放置在图像下方,便于准确复制粘贴。
核心亮点
- 基于 Tesseract,识别精度高,支持 100+ 种语言
- 自动优化图像质量,输出文件比原扫描件更小
- 生成 PDF/A 标准格式,适合长期存档和合规要求
不足之处
- 依赖外部 Tesseract 引擎,安装配置稍复杂
- 对复杂排版或手写体识别效果有限
适用场景
- 企业档案数字化,将纸质合同、发票扫描件转为可搜索 PDF
- 学术研究,批量处理书籍扫描件以便全文检索引用
- 法律/政务场景,将历史卷宗扫描件转换为可检索电子档案
替代项目
PaddleOCR、ocrmypdf 的替代品如 PDF OCR X、ABBYY FineReader
上一篇:paperless-ngx
下一篇:liteparse
同类项目推荐
STranslate
开源
选中即译、截图即识,Windows 上最顺手的翻译 OCR 小工具
A ready-to-go translation ocr tool developed with WPF/WPF 开发的一款即用即走的翻译、···
Metalhead.jl
开源
Julia 里开箱即用的 Flux 视觉模型库
AI models in Julia on top of Flux.jl
zotero-ocr
开源
在 Zotero 里直接给扫描 PDF 做 OCR,文字可搜可引。
Zotero Plugin for OCR
awesome-described-object-detecti···
开源
一页看全开放词汇与指代检测论文资源
A curated list of papers and resources related to Described Object Detection, Open-V···
Synthesize3DviaDepthOrSil
开源
从多视图深度图或轮廓,一键生成3D形状
[CVPR 2017] Generation and reconstruction of 3D shapes via modeling multi-view depth···
mSRGAN-A-GAN-for-single-image-su···
开源
用GAN把模糊显微图变清晰,助力药物筛选分析
Generative Adversarial Network for single image super-resolution in high content scr···
doctr
开源
用 PyTorch 或 TensorFlow 快速实现文档文字检测与识别
docTR (Document Text Recognition) - a seamless, high-performing & accessible library···
Exp-CLIP
开源
用LLM知识让CLIP看懂表情,零样本识别更准
[WACV'25 Oral] Enhancing Zero-Shot Facial Expression Recognition by LLM Knowledge Tr···
WinCLIP
开源
用 CLIP 实现零样本工业异常检测,无需训练样本即可定位缺陷
Implementation of CVPR'23 paper "WinCLIP: Zero-/few-shot anomaly classification and ···