OCRmyPDF 实用操作指南:从基础到高级技巧
OCRmyPDF 项目地址: https://gitcode.com/gh_mirrors/ocr/OCRmyPDF
概述
OCRmyPDF 是一个强大的开源工具,能够为 PDF 文件添加可搜索的 OCR 文本层,同时保持原始文档的质量和布局。本文将全面介绍 OCRmyPDF 的各种实用功能和使用技巧,帮助用户高效处理 PDF 文档。
基础操作
获取帮助信息
任何工具的第一步都是了解其帮助文档:
ocrmypdf --help
这个命令会显示所有可用选项和参数的详细说明,是解决问题的最佳起点。
基本 OCR 处理
为 PDF 添加 OCR 层并转换为 PDF/A 格式:
ocrmypdf input.pdf output.pdf
如果只需要添加 OCR 层而不转换格式:
ocrmypdf --output-type pdf input.pdf output.pdf
图像压缩处理
创建 PDF/A 并将所有彩色和灰度图像转换为 JPEG:
ocrmypdf --output-type pdfa --pdfa-image-compression jpeg input.pdf output.pdf
原地修改文件
安全地覆盖原文件(仅在 OCR 成功时执行):
ocrmypdf myfile.pdf myfile.pdf
页面处理技巧
自动校正页面方向
处理混合方向(横向/纵向)的扫描文档:
ocrmypdf --rotate-pages myfile.pdf myfile.pdf
调整旋转敏感度(默认值较为保守):
ocrmypdf --rotate-pages --rotate-pages-threshold 2.0 myfile.pdf myfile.pdf
较低的阈值(如 2.0)会产生更多旋转修正,但也可能增加误判。使用 -v1
参数可以查看每页的置信度评分。
处理特定页面
仅处理指定页面(2,3,13-17页):
ocrmypdf --pages 2,3,13-17 input.pdf output.pdf
多语言支持
OCRmyPDF 默认使用英语,处理其他语言需明确指定:
ocrmypdf -l fra LeParisien.pdf LeParisien.pdf
处理双语文档(英语+法语):
ocrmypdf -l eng+fra Bilingual-English-French.pdf Bilingual-English-French.pdf
注意:必须提前安装相应的语言包,Tesseract OCR 无法自动检测语言。
文本提取与输出
生成 PDF 和包含 OCR 文本的文本文件:
ocrmypdf --sidecar output.txt input.pdf output.pdf
重要说明:侧边文件仅包含 OCR 识别的文本,不会包含 PDF 中原有的文本。
图像处理功能
OCRmyPDF 提供多种图像处理选项,可显著提高 OCR 质量:
--rotate-pages
:自动校正页面方向--remove-background
:去除灰度/彩色图像的噪点背景--deskew
:校正倾斜扫描--clean
:使用 unpaper 清理页面(不影响最终输出)--clean-final
:使用 unpaper 清理并修改最终输出
示例:校正倾斜扫描并清理页面:
ocrmypdf --deskew --clean input.pdf output.pdf
警告:某些图像处理操作可能导致视觉伪影,建议处理后检查文件。
高级应用场景
不进行 OCR 的图像处理
仅应用图像处理而不执行 OCR:
ocrmypdf --tesseract-timeout=0 --remove-background input.pdf output.pdf
移除所有文本信息
将 PDF 转换为纯图像格式:
ocrmypdf --tesseract-timeout 0 --force-ocr input.pdf output.pdf
仅优化图像
优化所有图像而不执行 OCR:
ocrmypdf --tesseract-timeout=0 --optimize 3 --skip-text input.pdf output.pdf
重新 OCR 已有文档
重新处理已有 OCR 的文档(利用新版 Tesseract 提高准确性):
ocrmypdf --redo-ocr input.pdf output.pdf
优化技巧
OCRmyPDF 提供四级优化选项:
--optimize 0
:禁用优化--optimize 1
:无损优化(默认)--optimize 2
:包含有损优化和颜色量化--optimize 3
:更激进的优化,目标更低图像质量
最大化压缩:
ocrmypdf --optimize 3 in.pdf out.pdf
数字签名处理
OCRmyPDF 无法保留数字签名,默认会拒绝修改已签名的 PDF。强制处理(会使签名失效):
ocrmypdf --invalidate-digital-signatures signed.pdf output.pdf
总结
OCRmyPDF 是一个功能全面的 PDF 处理工具,从简单的 OCR 添加到复杂的图像处理和优化,都能高效完成。通过合理组合各种参数,用户可以针对不同质量的输入文档获得最佳的输出效果。建议新用户从基础命令开始,逐步尝试更高级的功能选项。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考