OCRmyPDF本地部署及使用教程

OCRmyPDF 是一款主要用于为扫描的 PDF 文件添加可搜索和可复制的 OCR 文本层的工具,支持多语言,能优化图像、纠偏、清洁页面,并自动旋转方向等功能。以下是OCRmyPDF的本地部署方法:

OCRmyPDF本地部署及使用教程.webp

OCRmyPDF本地部署方法

OCRmyPDF 提供了多种安装方式,具体取决于你的操作系统和需求。

1. 通过系统包管理器安装

Debian/Ubuntu:

apt install ocrmypdf

Fedora:

dnf install ocrmypdf tesseract-osd

macOS (Homebrew):

brew install ocrmypdf

Windows Subsystem for Linux:

apt install ocrmypdf

2. 使用 Python pip 安装

如果你需要安装最新版本或系统包管理器提供的版本较旧,可以使用 pip:

pip install ocrmypdf

或者,使用 pipx 来创建隔离的 Python 环境:

pipx install ocrmypdf

3. 使用 Docker 安装

如果你使用 Docker,可以通过以下命令安装 OCRmyPDF 的 Docker 镜像:

docker pull jbarlow83/ocrmypdf

运行时可以将输入和输出文件挂载到容器中:

docker run -v /path/to/input.pdf:/input.pdf -v /path/to/output.pdf:/output.pdf jbarlow83/ocrmypdf /input.pdf /output.pdf

4. 从源代码安装

如果你需要从源代码安装(例如开发或测试最新功能),可以克隆 GitHub 仓库并安装:

git clone https://github.com/ocrmypdf/OCRmyPDF.git
cd OCRmyPDF
pip install -e .

依赖项

  • Python 3.10 或更高版本

  • Ghostscript 9.54 或更高版本

  • Tesseract 4.1.1 或更高版本

  • jbig2enc 0.29 或更高版本(可选,用于优化输出文件大小)

  • pngquant 2.5 或更高版本(可选,用于优化 PNG 图像)

  • unpaper 6.1 或更高版本(可选,用于清洁图像)

注意要点

  • 32 位支持:OCRmyPDF 不支持 32 位系统,建议使用 64 位版本。

  • Windows 用户:建议使用 Windows Subsystem for Linux 或 Docker 来避免兼容性问题。

  • macOS 用户:可以通过 Homebrew 安装,但需要额外安装 Tesseract 的语言包(如 tesseract-lang)。

验证安装

安装完成后,可以通过以下命令验证 OCRmyPDF 是否安装成功:

ocrmypdf --version

OCRmyPDF使用教程

1. 添加 OCR 文本层

核心功能:为扫描的 PDF 文件添加可搜索的文本层,使文档内容可复制、可搜索。

示例命令:

ocrmypdf input.pdf output.pdf

2. 多语言支持

功能描述:支持超过 100 种语言,用户可以根据文档的语言选择合适的语言包,提高 OCR 的准确率。

示例命令:

ocrmypdf --language chi_sim input.pdf output.pdf  # 简体中文
ocrmypdf --language eng input.pdf output.pdf      # 英文

3. 图像优化

功能描述:优化 PDF 中的图像,包括调整分辨率、压缩图像大小等,生成更小的文件,同时保持图像质量。

示例命令:

ocrmypdf --optimize 3 input.pdf output.pdf  # 最强优化

4. 纠偏和清洁

功能描述:在执行 OCR 之前,对图像进行纠偏(纠正倾斜)和清洁(去除污点、噪点等),提高 OCR 的准确率。

示例命令:

ocrmypdf --deskew --clean input.pdf output.pdf

5. 自动旋转页面

功能描述:自动检测页面的方向并旋转页面,确保所有页面的方向一致,便于阅读和处理。

示例命令:

ocrmypdf --rotate-pages input.pdf output.pdf

6. 转换为 PDF/A 格式

功能描述:将输出文件转换为 PDF/A 格式,这是一种国际标准的归档格式,适合长期存储。

示例命令:

ocrmypdf --output-type pdfa input.pdf output.pdf

7. 去除重复页面

功能描述:自动检测并去除 PDF 中的重复页面,减少文件大小。

示例命令:

ocrmypdf --remove-background input.pdf output.pdf

8. 背景去除

功能描述:去除 PDF 页面中的背景,使文字更加清晰,便于阅读。

示例命令:

ocrmypdf --remove-background input.pdf output.pdf

9. 生成 PDF/A 格式

功能描述:生成符合 PDF/A 标准的文件,适合长期归档和存储。

示例命令:

ocrmypdf --output-type pdfa input.pdf output.pdf

10. 跳过已 OCR 的页面

功能描述:如果 PDF 中某些页面已经包含文本层,可以跳过这些页面,避免重复处理。

示例命令:

ocrmypdf --skip-text input.pdf output.pdf

11. 自定义 DPI

功能描述:可以指定 OCR 处理时的图像分辨率(DPI),默认值为 300 DPI。

示例命令:

ocrmypdf --dpi 350 input.pdf output.pdf

12. 转换为单色图像

功能描述:将彩色或灰度图像转换为单色图像,减少文件大小。

示例命令:

ocrmypdf --output-type pdf --monochrome input.pdf output.pdf

13. 生成日志文件

功能描述:生成详细的日志文件,便于调试和记录处理过程。

示例命令:

ocrmypdf --log-file output.log input.pdf output.pdf

14. 批量处理

功能描述:结合脚本或命令行工具(如 GNU Parallel),可以批量处理多个 PDF 文件。

示例命令:

for file in *.pdf; do
ocrmypdf "$file" "output_$file"
done

15. 支持多种输入格式

功能描述:支持从多种格式的文件生成 PDF,包括 TIFF、PNG 等。

示例命令:

ocrmypdf input.tiff output.pdf

16. 压缩 PDF

功能描述:在 OCR 处理后,可以进一步压缩 PDF 文件,减少文件大小。

示例命令:

ocrmypdf --optimize 3 input.pdf output.pdf

17. 转换为 PDF/A-2b 或 PDF/A-2u

功能描述:生成符合 PDF/A-2b 或 PDF/A-2u 标准的文件,适合不同需求。

示例命令:

ocrmypdf --output-type pdfa-2b input.pdf output.pdf
ocrmypdf --output-type pdfa-2u input.pdf output.pdf

18. 支持 Unicode

功能描述:支持 Unicode 字符,确保多语言文档的正确处理。

示例命令:

ocrmypdf --language chi_sim --language eng input.pdf output.pdf

19. 自定义输出文件名

功能描述:可以自定义输出文件的名称,便于管理和识别。

示例命令:

ocrmypdf input.pdf "output_with_date_$(date +%Y%m%d).pdf"

20. 支持命令行参数

功能描述:通过命令行参数,可以灵活配置 OCRmyPDF 的各种功能。

示例命令:

ocrmypdf --help

OCRmyPDF本地部署及使用教程:https://ocrmypdf.readthedocs.io/en/latest/installation.html

收藏
最新工具
Build Your Own X
Build Your Own X

一个帮助开发者提升编程能力的开源项目,Build Your Ow...

OCRmyPDF
OCRmyPDF

一款开源的命令行工具,用于给扫描的 PDF 文件添加可搜索的OC...

Automa
Automa

一款开源的低代码/无代码浏览器自动化工具,用户可以通过可视化界面...

ScreenPipe
ScreenPipe

一款开源的 AI 驱动屏幕和音频录制工具。它支持 24/7 本地...

​self.so
​self.so

一个由 Nutlope 开发的可以将 LinkedIn 上的个人...

Awesome LangGraph
Awesome LangGraph

一份精心整理的 LangGraph 资源合集,涵盖了基础介绍、入...

VDSpeak
VDSpeak

一个专注于为YouTube视频提供多语言翻译和配音服务的在线工具...

PydanticAI
PydanticAI

一个Pydantic 团队开发的Python代理框架,可以通过生...

AutoGLM沉思
AutoGLM沉思

智谱推出的一款集深度研究与实际操作能力于一体的AI Agent产...

JustAI
JustAI

一款AI文案写作与营销工具,能生成多场景文案,包括小红书笔记、抖...