首页 > AI教程资讯

OCRmyPDF本地部署及使用教程

文章来源:08AI导航网发布时间:2025-04-09 15:53:27

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

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

OCRmyPDF本地部署方法

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

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

Debian/Ubuntu:

aptinstallocrmypdf

Fedora:

dnfinstallocrmypdftesseract-osd

macOS (Homebrew):

brewinstallocrmypdf

Windows Subsystem for Linux:

aptinstallocrmypdf

2. 使用 Python pip 安装

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

pipinstallocrmypdf

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

pipxinstallocrmypdf

3. 使用 Docker 安装

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

dockerpulljbarlow83/ocrmypdf

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

dockerrun-v/path/to/input.pdf:/input.pdf-v/path/to/output.pdf:/output.pdfjbarlow83/ocrmypdf/input.pdf/output.pdf

4. 从源代码安装

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

gitclonehttps://github.com/ocrmypdf/OCRmyPDF.gitcdOCRmyPDFpipinstall-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 文件添加可搜索的文本层,使文档内容可复制、可搜索。

示例命令:

ocrmypdfinput.pdfoutput.pdf

2. 多语言支持

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

示例命令:

ocrmypdf--languagechi_siminput.pdfoutput.pdf#简体中文ocrmypdf--languageenginput.pdfoutput.pdf#英文

3. 图像优化

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

示例命令:

ocrmypdf--optimize3input.pdfoutput.pdf#最强优化

4. 纠偏和清洁

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

示例命令:

ocrmypdf--deskew--cleaninput.pdfoutput.pdf

5. 自动旋转页面

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

示例命令:

ocrmypdf--rotate-pagesinput.pdfoutput.pdf

6. 转换为 PDF/A 格式

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

示例命令:

ocrmypdf--output-typepdfainput.pdfoutput.pdf

7. 去除重复页面

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

示例命令:

ocrmypdf--remove-backgroundinput.pdfoutput.pdf

8. 背景去除

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

示例命令:

ocrmypdf--remove-backgroundinput.pdfoutput.pdf

9. 生成 PDF/A 格式

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

示例命令:

ocrmypdf--output-typepdfainput.pdfoutput.pdf

10. 跳过已 OCR 的页面

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

示例命令:

ocrmypdf--skip-textinput.pdfoutput.pdf

11. 自定义 DPI

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

示例命令:

ocrmypdf--dpi350input.pdfoutput.pdf

12. 转换为单色图像

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

示例命令:

ocrmypdf--output-typepdf--monochromeinput.pdfoutput.pdf

13. 生成日志文件

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

示例命令:

ocrmypdf--log-fileoutput.loginput.pdfoutput.pdf

14. 批量处理

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

示例命令:

forfilein*.pdf;doocrmypdf"$file""output_$file"done

15. 支持多种输入格式

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

示例命令:

ocrmypdfinput.tiffoutput.pdf

16. 压缩 PDF

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

示例命令:

ocrmypdf--optimize3input.pdfoutput.pdf

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

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

示例命令:

ocrmypdf--output-typepdfa-2binput.pdfoutput.pdfocrmypdf--output-typepdfa-2uinput.pdfoutput.pdf

18. 支持 Unicode

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

示例命令:

ocrmypdf--languagechi_sim--languageenginput.pdfoutput.pdf

19. 自定义输出文件名

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

示例命令:

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

20. 支持命令行参数

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

示例命令:

ocrmypdf--help

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