Apps2025 年 4 月 7 日 12:00

OCRmyPDF: 为扫描 PDF 添加 OCR 文本层

OCRmyPDF 是一个开源的命令行工具和库,它可以为扫描的 PDF 文件添加 OCR 文本层,使文件内容可被搜索和复制粘贴。

OCRmyPDF: 为扫描 PDF 添加 OCR 文本层

🔗 GitHub

OCRmyPDF 是一个开源的命令行工具和库,它可以为扫描的 PDF 文件添加 OCR 文本层,使文件内容可被搜索和复制粘贴。该工具利用 Tesseract OCR 引擎识别 PDF 中图像里的文本,并将其准确地放置在原始图像下方,使得用户可以轻松地搜索和选择文档中的内容。

OCRmyPDF 的工作原理是分析 PDF 的每一页,确定所需的色彩空间和分辨率,然后使用 Ghostscript 将每页栅格化,接着通过 Tesseract 进行 OCR 处理,并将生成的 OCR 层集成回原始 PDF。与直接使用 ImageMagick 或 Ghostscript 处理图像然后通过 Tesseract OCR 不同,OCRmyPDF 能够生成变化最小的 PDF 输出,同时保留原始图像的精确分辨率。

主要特点

  • 多语言支持:支持 Tesseract 的所有语言包,包括英语、法语、中文等
  • 图像处理:自动旋转页面、去偏斜、清理背景和图像优化
  • PDF/A 生成:默认生成符合 PDF/A 标准的存档文件,便于长期保存
  • 批处理能力:支持多核处理,提高 OCR 速度
  • 多平台支持:适用于 Linux、macOS、Windows 和 FreeBSD
  • Docker 支持:提供 Docker 镜像,方便快速部署
  • JBIG2 优化:支持 JBIG2 编码,大幅减小黑白图像的文件大小
  • 页面选择:允许只对 PDF 中的特定页面进行 OCR 处理
  • 扩展性:支持插件系统,可自定义处理流程

部署选项

  • 通过 pip 安装:pip install ocrmypdf
  • Docker 容器
  • 系统包管理器:支持多种 Linux 发行版和 macOS 的 Homebrew
  • 从源代码构建

开源许可证

MPL-2.0。