返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

GitHub 收获 30.6k Star,一款开源的 PDF 处理工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.034em;">


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(0, 152, 116);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">OCRmyPDF

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;font-style: italic;padding: 1em 1em 1em 2em;border-radius: 6px;color: rgba(0, 0, 0, 0.6);background: rgb(247, 247, 247);box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 6px;">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;display: block;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(0, 152, 116);">OCRmyPDF是一款开源的 PDF 处理工具,通过添加 OCR 文本层,OCRmyPDF 能够将无法直接编辑的扫描 PDF 文件变为可以搜索和编辑的格式,同时保留原始布局和图像质量。支持 Windows、macOS、Linux 与 FreeBSD 平台,也可通过 Docker 镜像运行。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;margin: 10px 8px;background: rgb(254, 254, 254);color: rgb(84, 84, 84);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;">•项目地址:https://github.com/ocrmypdf/OCRmyPDF
•开发者:James R. Barlow(核心)及社区贡献者
•Stars / Forks:约 30.6k ⭐ / 2.1k 🍴
•License:Mozilla Public License 2.0(MPL‑2.0,核心)/文档为 CC‑BY‑SA 4.0
•技术栈:Python 3, Shell, Ghostscript, Tesseract, qpdf, pngquant, jbig2enc
•目标用户:对扫描文档进行 OCR 的个人用户、图书馆/档案数字化、法律文件归档等。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);">✨ 核心功能亮点

    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);" class="list-paddingleft-1">
  • ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);">
    • 生成可搜索 PDF/A 文件 :扫描版 PDF 自动补全 OCR 文本层,使文档可被搜索和复制,同时输出符合 PDF/A-2b 标准的长期归档格式。
  • • 精确放置 OCR 文本 :将 OCR 文本准确地放置在图像下方,不改变页面布局,保留嵌入图像的原始分辨率,粘贴复制基本无偏差。
  • • 无损 / 静默优化:若原图支持,OCR 过程不会重新编码图片;支持 pngquant、Jbig2 编码压缩,生成的文件通常比输入文件更小。
  • • 倾斜矫正 / 自动旋转:支持类似 --deskew(纠正页面倾斜)和 --rotate-pages(自动识别并旋转横/竖页)。
  • • 多语言 OCR 支持:借助 Tesseract,可识别超过 100 种语言(包括繁简中日韩等),支持混合语言识别(如 -l eng+chi_sim)。
  • • 自动修复:使用 qpdf 进行自动修复,发现 PDF 携带文本图层即可跳过 OCR(默认报错退出),或可加参数强制重新 OCR(--force-ocr)。
  • • 大规模文件处理 :能够处理包含数千页的文件,适用于各种规模的文档处理任务。
  • • 经过实战测试 :在数百万个 PDF 文件上进行了测试,具有高度的稳定性和可靠性。

🛠 安装与使用指南

  • • 环境要求:Python 3.6+、Ghostscript 9.15+、Tesseract 4.x、qpdf(推荐)
  • • 如果平台不支持上述依赖,建议使用 Docker 镜像。

安装步骤

方法 A:推荐(包管理器/Docker 快速安装)

  • • 平台:Windows/macOS/Linux
    -安装方式使用包管理器,如在 macOS:brew install ocrmypdf,在 Ubuntu/Debian:sudo apt install ocrmypdf(版本可能滞后)
  • • Docker(无需手动安装依赖): docker pull jbarlow83/ocrmypdf 或 jbarlow83/ocrmypdf‑polyglot(内含全部语言包)。执行时使用当前目录为挂载点示例:docker run --rm -v "$(pwd):/home/docker" ocrmypdf input.pdf output.pdf

方法 B:进阶用户(Python + pip 安装)

  1. 1. 安装依赖(Unix/macOS):
brewinstallghostscripttesseractqpdfpngquant

或在 Debian/Ubuntu:

sudo apt update
sudo apt install ghostscript tesseract-ocr tesseract-ocr-eng qpdf pngquant
  1. 2. 安装 OCRmyPDF:
pipinstall/upgradeocrmypdf
  1. 3. 安装语言包(如中文):
sudoaptinstalltesseract-ocr-chi-sim

然后执行如下命令:

ocrmypdf-leng+chi_siminput.pdfoutput.pdf

使用流程示例

# 单页测试
ocrmypdf input.pdf output.pdf

# 在原文件基础上进行 OCR(成功覆盖原文件)
ocrmypdf input.pdf input.pdf

# 添加识别语言(英文 + 简体中文)
ocrmypdf -l eng+chi_sim scanned.pdf searchable.pdf

# 自动纠偏并输出 PDF/A
ocrmypdf --rotate-pages --deskew --output-type pdfa input.pdf output.pdf

# 批量处理(示例替换当前目录中所有 PDF,需自行验证)
for f in *.pdf; do
ocrmypdf "$f" "ocr/$f"
done

安装完成后,用 ocrmypdf --help 可查看所有命令选项及说明。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ