❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能强大:OCRmyPDF 支持生成可搜索的 PDF/A 文件,保持原始图像分辨率,同时优化图像质量。
- 多语言支持:支持超过 100 种语言,确保不同语言的文档都能准确识别。
- 高效处理:利用多核处理和批量处理功能,快速处理大量文件。
OCRmyPDF 是什么
OCRmyPDF 是一款开源的命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。通过添加 OCR 文本层,OCRmyPDF 能够将无法直接编辑的扫描 PDF 文件变为可以搜索和编辑的格式。该工具基于 Tesseract OCR 引擎实现高效的文字识别,并支持多种语言和图像优化功能。
OCRmyPDF 还具备自动纠偏、清洁图像、旋转页面等功能,确保识别结果的准确性。它能够充分利用系统资源,通过多核处理和批量处理,快速处理大量文件,适用于各种场景下的文档管理和数字化需求。
OCRmyPDF 的主要功能
- 生成可搜索的 PDF/A 文件:从普通 PDF 文件生成可搜索的 PDF/A 文件,同时保持原始嵌入图像的分辨率。
- 多语言支持:支持超过 100 种语言,用户可以根据文档的语言选择合适的语言包,提高 OCR 的准确率。
- 图像优化:OCRmyPDF 可以优化 PDF 中的图像,包括调整分辨率、压缩图像大小等,生成更小的文件,保持图像质量。
- 纠偏和清洁:在执行 OCR 之前,OCRmyPDF 可以对图像进行纠偏(纠正倾斜)和清洁(去除污点、噪点等),提高 OCR 的准确率。
- 旋转页面:自动检测页面的方向并旋转页面,确保所有页面的方向一致,便于阅读和处理。
- 多核处理:默认利用所有可用的 CPU 核心进行处理,提高了处理速度,适合处理大型文件或批量任务。
- 批量处理:可以结合 GNU 并行工具或其他脚本,批量处理多个 PDF 文件,提高工作效率。
- 数据安全性:OCRmyPDF 完全离线运行,数据存在用户的本地设备,确保数据安全和隐私。
- 灵活的命令行选项:提供丰富的命令行选项,用户可以根据需求调整 OCR 的行为,例如跳过已包含文本的页面、设置图像质量等。
OCRmyPDF 的技术原理
- 预处理:在正式进行 OCR 识别之前,OCRmyPDF 会对输入的 PDF 文件进行预处理。包括对图像进行去噪、锐化、纠偏等操作,提高后续字符识别的准确性。
- 图像提取与分割:OCRmyPDF 使用 Poppler 库将 PDF 文件中的页面转换为图像。然后,程序会将图像中的文字区域分割出来,分别对待每一个可能包含字符的部分。
- OCR 识别:OCRmyPDF 基于 Tesseract OCR 引擎进行字符识别。Tesseract 会提取字符图像的关键特征,如形状、边缘等信息,将这些特征与数据库中存储的标准字符模板进行比对,确定每个字符的具体内容。
如何运行 OCRmyPDF
1. 安装 OCRmyPDF
OCRmyPDF 支持多种操作系统,安装方法如下:
操作系统 | 安装命令 |
---|---|
Debian, Ubuntu | apt install ocrmypdf |
Windows Subsystem for Linux | apt install ocrmypdf |
Fedora | dnf install ocrmypdf |
macOS (Homebrew) | brew install ocrmypdf |
macOS (MacPorts) | port install ocrmypdf |
macOS (nix) | nix-env -i ocrmypdf |
FreeBSD | pkg install py-ocrmypdf |
Ubuntu Snap | snap install ocrmypdf |
2. 使用 OCRmyPDF
以下是一些常用的命令示例:
# 添加 OCR 层并转换为 PDF/A
ocrmypdf input.pdf output.pdf
# 将图像转换为单页 PDF
ocrmypdf input.jpg output.pdf
# 在原文件基础上添加 OCR(仅在成功时修改文件)
ocrmypdf myfile.pdf myfile.pdf
# 使用非英语语言进行 OCR(查找 ISO 639-3 代码)
ocrmypdf -l fra LeParisien.pdf LeParisien.pdf
# 处理多语言文档
ocrmypdf -l eng+fra Bilingual-English-French.pdf Bilingual-English-French.pdf
# 纠正倾斜的页面
ocrmypdf --deskew input.pdf output.pdf
AI 代码解读
资源
- GitHub 仓库:https://github.com/ocrmypdf/OCRmyPDF
- 官方文档:https://ocrmypdf.readthedocs.io/en/latest/index.html
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦