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

收藏
最新工具
ChinaTextbook
ChinaTextbook

一个专门收集和分享中国大陆从小学到大学的教材资源的开源项目,特别...

暗壳AI
暗壳AI

家居AIGC营销与导购工具,它号称“一人即团队”,能够快速生成渲...

UntitledPen
UntitledPen

一个可以生成真实人声旁白的工具,也就是能够在一个平台上编写、编辑...

PageAI
PageAI

一款AI网站生成工具,就像一个小型创意工作室一样,能在短时间内根...

Seedance AI
Seedance AI

字节跳动推出的一款强大的视频生成工具,借助 Seedance 1...

ChatPs
ChatPs

ChatPs 是一款为 Photoshop 设计的插件,它背后是...

趣丸千音
趣丸千音

一个AI语音创作平台,专注提供一站式智能语音解决方案。集成文本转...

太极神器 TAICHI-flet
太极神器 TAICHI-flet

基于flet的一款多功能娱乐软件,实现了浏览图片、音乐、小说、各...

YIKM
YIKM

一个能在线玩小霸王、红白机、街机、FC 等经典游戏的地方,像《魂...

Bridgely
Bridgely

基于AI的实时通用翻译浏览器扩展,支持 60 多种语言,包括 W...