OCRmyPDF本地部署及使用教程
OCRmyPDF 是一款主要用于為掃描的 PDF 文件添加可搜索和可復(fù)制的 OCR 文本層的工具,支持多語言,能優(yōu)化圖像、糾偏、清潔頁面,并自動旋轉(zhuǎn)方向等功能。以下是OCRmyPDF的本地部署方法:
OCRmyPDF本地部署方法
OCRmyPDF 提供了多種安裝方式,具體取決于你的操作系統(tǒng)和需求。
1. 通過系統(tǒng)包管理器安裝
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 安裝
如果你需要安裝最新版本或系統(tǒng)包管理器提供的版本較舊,可以使用 pip:
pip install ocrmypdf
或者,使用 pipx 來創(chuàng)建隔離的 Python 環(huán)境:
pipx install ocrmypdf
3. 使用 Docker 安裝
如果你使用 Docker,可以通過以下命令安裝 OCRmyPDF 的 Docker 鏡像:
docker pull jbarlow83/ocrmypdf
運(yùn)行時可以將輸入和輸出文件掛載到容器中:
docker run -v /path/to/input.pdf:/input.pdf -v /path/to/output.pdf:/output.pdf jbarlow83/ocrmypdf /input.pdf /output.pdf
4. 從源代碼安裝
如果你需要從源代碼安裝(例如開發(fā)或測試最新功能),可以克隆 GitHub 倉庫并安裝:
git clone https://github.com/ocrmypdf/OCRmyPDF.git cd OCRmyPDF pip install -e .
依賴項(xiàng)
Python 3.10 或更高版本
Ghostscript 9.54 或更高版本
Tesseract 4.1.1 或更高版本
jbig2enc 0.29 或更高版本(可選,用于優(yōu)化輸出文件大小)
pngquant 2.5 或更高版本(可選,用于優(yōu)化 PNG 圖像)
unpaper 6.1 或更高版本(可選,用于清潔圖像)
注意要點(diǎn)
32 位支持:OCRmyPDF 不支持 32 位系統(tǒng),建議使用 64 位版本。
Windows 用戶:建議使用 Windows Subsystem for Linux 或 Docker 來避免兼容性問題。
macOS 用戶:可以通過 Homebrew 安裝,但需要額外安裝 Tesseract 的語言包(如 tesseract-lang)。
驗(yàn)證安裝
安裝完成后,可以通過以下命令驗(yàn)證 OCRmyPDF 是否安裝成功:
ocrmypdf --version
OCRmyPDF使用教程
1. 添加 OCR 文本層
核心功能:為掃描的 PDF 文件添加可搜索的文本層,使文檔內(nèi)容可復(fù)制、可搜索。
示例命令:
ocrmypdf input.pdf output.pdf
2. 多語言支持
功能描述:支持超過 100 種語言,用戶可以根據(jù)文檔的語言選擇合適的語言包,提高 OCR 的準(zhǔn)確率。
示例命令:
ocrmypdf --language chi_sim input.pdf output.pdf # 簡體中文 ocrmypdf --language eng input.pdf output.pdf # 英文
3. 圖像優(yōu)化
功能描述:優(yōu)化 PDF 中的圖像,包括調(diào)整分辨率、壓縮圖像大小等,生成更小的文件,同時保持圖像質(zhì)量。
示例命令:
ocrmypdf --optimize 3 input.pdf output.pdf # 最強(qiáng)優(yōu)化
4. 糾偏和清潔
功能描述:在執(zhí)行 OCR 之前,對圖像進(jìn)行糾偏(糾正傾斜)和清潔(去除污點(diǎn)、噪點(diǎn)等),提高 OCR 的準(zhǔn)確率。
示例命令:
ocrmypdf --deskew --clean input.pdf output.pdf
5. 自動旋轉(zhuǎn)頁面
功能描述:自動檢測頁面的方向并旋轉(zhuǎn)頁面,確保所有頁面的方向一致,便于閱讀和處理。
示例命令:
ocrmypdf --rotate-pages input.pdf output.pdf
6. 轉(zhuǎn)換為 PDF/A 格式
功能描述:將輸出文件轉(zhuǎn)換為 PDF/A 格式,這是一種國際標(biāo)準(zhǔn)的歸檔格式,適合長期存儲。
示例命令:
ocrmypdf --output-type pdfa input.pdf output.pdf
7. 去除重復(fù)頁面
功能描述:自動檢測并去除 PDF 中的重復(fù)頁面,減少文件大小。
示例命令:
ocrmypdf --remove-background input.pdf output.pdf
8. 背景去除
功能描述:去除 PDF 頁面中的背景,使文字更加清晰,便于閱讀。
示例命令:
ocrmypdf --remove-background input.pdf output.pdf
9. 生成 PDF/A 格式
功能描述:生成符合 PDF/A 標(biāo)準(zhǔn)的文件,適合長期歸檔和存儲。
示例命令:
ocrmypdf --output-type pdfa input.pdf output.pdf
10. 跳過已 OCR 的頁面
功能描述:如果 PDF 中某些頁面已經(jīng)包含文本層,可以跳過這些頁面,避免重復(fù)處理。
示例命令:
ocrmypdf --skip-text input.pdf output.pdf
11. 自定義 DPI
功能描述:可以指定 OCR 處理時的圖像分辨率(DPI),默認(rèn)值為 300 DPI。
示例命令:
ocrmypdf --dpi 350 input.pdf output.pdf
12. 轉(zhuǎn)換為單色圖像
功能描述:將彩色或灰度圖像轉(zhuǎn)換為單色圖像,減少文件大小。
示例命令:
ocrmypdf --output-type pdf --monochrome input.pdf output.pdf
13. 生成日志文件
功能描述:生成詳細(xì)的日志文件,便于調(diào)試和記錄處理過程。
示例命令:
ocrmypdf --log-file output.log input.pdf output.pdf
14. 批量處理
功能描述:結(jié)合腳本或命令行工具(如 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 處理后,可以進(jìn)一步壓縮 PDF 文件,減少文件大小。
示例命令:
ocrmypdf --optimize 3 input.pdf output.pdf
17. 轉(zhuǎn)換為 PDF/A-2b 或 PDF/A-2u
功能描述:生成符合 PDF/A-2b 或 PDF/A-2u 標(biāo)準(zhǔn)的文件,適合不同需求。
示例命令:
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. 支持命令行參數(shù)
功能描述:通過命令行參數(shù),可以靈活配置 OCRmyPDF 的各種功能。
示例命令:
ocrmypdf --help
OCRmyPDF本地部署及使用教程:https://ocrmypdf.readthedocs.io/en/latest/installation.html