ocrmypdf について
スキャン PDF に検索可能なテキストを追加する OCRmyPDF のコマンドラインスキルガイドです。言語や OCR モード、ページ範囲、出力形式に加え、テキストファイルの出力、メタデータ、並列処理も扱います。
主な機能
- 01PDF に検索可能な OCR テキストを追加
- 02画像を検索可能な PDF に変換
- 03言語と OCR モードを選択
- 04指定ページだけを処理
- 05テキストファイルの出力とメタデータ設定
- 06ジョブの並列実行
活用シーン
- 01スキャンした記録を検索可能にする
- 02多言語文書を OCR 処理する
- 03既存の OCR レイヤーを置き換える
- 04PDF/A のアーカイブを作成する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ full-stack-skills/ ocrmypdf-skills --skill ocrmypdfインストール後、Claude Code で/ocrmypdfを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
OCRmyPDF — OCR コアガイド
概要
OCRmyPDF は、スキャンした PDF ファイルに OCR テキストレイヤーを追加し、検索やコピー&ペーストを可能にします。Tesseract OCR を使用し、100 以上の言語に対応しています。既定では PDF/A を生成し、すべての CPU コアを使って処理を分散します。
画像処理(傾き補正、回転、クリーンアップ)については、ocrmypdf-image スキルを参照してください。最適化と PDF/A のオプションについては、ocrmypdf-optimize を参照してください。バッチ処理、Docker、スクリプトについては、ocrmypdf-batch を参照してください。Python API とプラグインについては、ocrmypdf-api を参照してください。
インストール
ワンライナーでのインストール(推奨)
| OS | コマンド |
|---|---|
| Debian / Ubuntu | apt install ocrmypdf |
| Fedora | dnf install ocrmypdf tesseract-osd |
| macOS (Homebrew) | brew install ocrmypdf |
| macOS (MacPorts) | port install ocrmypdf |
| FreeBSD | pkg install py-ocrmypdf |
| Snap | snap install ocrmypdf |
pip でのインストール(最新バージョン)
# After installing system dependencies (Tesseract, Ghostscript)
pip install ocrmypdf
確認
ocrmypdf --version
ocrmypdf --help
必要条件
- Python 3.11 以降
- Tesseract 4.1.1 以降(OCR エンジン)
- Ghostscript 9.54 以降またはpypdfium2(PDF のラスター化)
- 任意:jbig2enc(圧縮)、pngquant(画像の最適化)、unpaper(クリーンアップ)
クイックスタート
# Basic OCR — input scanned PDF, output searchable PDF/A
ocrmypdf input.pdf output.pdf
# OCR an image file directly
ocrmypdf --image-dpi 300 scan.png output.pdf
# OCR in place (only overwrites on success)
ocrmypdf myfile.pdf myfile.pdf
言語サポート
OCRmyPDF は Tesseract の言語パックを使用します。お使いの OS 用にインストールしてください。
# Debian / Ubuntu
apt-cache search tesseract-ocr # List all language packs
apt install tesseract-ocr-chi-sim # Chinese Simplified
apt install tesseract-ocr-fra # French
# macOS (Homebrew)
brew install tesseract-lang # All languages
# Fedora
dnf search tesseract-langpack
dnf install tesseract-langpack-ita # Italian
言語の使用
# Single language
ocrmypdf -l fra document.pdf output.pdf
# Multiple languages
ocrmypdf -l eng+fra bilingual.pdf output.pdf
# Chinese Simplified + English
ocrmypdf -l chi_sim+eng chinese-doc.pdf output.pdf
注:言語識別子にはISO 639-3 コードを使用してください。
OCR モード
既定のモード(既存のテキストをスキップ)
# Skip pages that already have text — only OCR pages without text
ocrmypdf input.pdf output.pdf
OCR を強制する(--force-ocr または -m force)
# Rasterize and OCR all pages, even those with existing text
ocrmypdf --force-ocr input.pdf output.pdf
# v17+ short form:
ocrmypdf -m force input.pdf output.pdf
OCR をやり直す(--redo-ocr または -m redo)
# Replace existing OCR without rasterizing (preserves quality)
ocrmypdf --redo-ocr input.pdf output.pdf
# v17+ short form:
ocrmypdf -m redo input.pdf output.pdf
テキストをスキップする(--skip-text または -m skip)
# Skip pages with any text, only OCR blank/image pages
ocrmypdf --skip-text input.pdf output.pdf
# v17+ short form:
ocrmypdf -m skip input.pdf output.pdf
OCR なし(画像処理のみ)
# Apply image processing / PDF/A conversion without OCR
ocrmypdf --ocr-engine none input.pdf output.pdf
ページの選択
# OCR only specific pages
ocrmypdf --pages 1,3,5-10 input.pdf output.pdf
# OCR only the first page, minimal changes elsewhere
ocrmypdf --pages 1 --output-type pdf --optimize 0 input.pdf output.pdf
出力形式
# PDF/A (default) — for archival
ocrmypdf --output-type pdfa input.pdf output.pdf
# Standard PDF
ocrmypdf --output-type pdf input.pdf output.pdf
# Auto (v17+) — speculative PDF/A, falls back to standard PDF
ocrmypdf --output-type auto input.pdf output.pdf
# No output PDF — only produce sidecar text
ocrmypdf --output-type none --sidecar text.txt input.pdf -
サイドカーテキストファイル
# Produce a companion text file with OCR text
ocrmypdf --sidecar output.txt input.pdf output.pdf
メタデータ
# Set output PDF metadata
ocrmypdf --title "My Document" --author "Author Name" --subject "Subject" input.pdf output.pdf
並列処理
# Use 4 CPU cores (default: all available)
ocrmypdf --jobs 4 input.pdf output.pdf
# Single-threaded
ocrmypdf --jobs 1 input.pdf output.pdf
よく使うレシピ
スキャンした PDF を検索可能にする
ocrmypdf scanned.pdf searchable.pdf
画像を検索可能な PDF に変換する
ocrmypdf --image-dpi 300 scan.jpg output.pdf
多言語文書を OCR にかける
ocrmypdf -l eng+deu+fra multilingual.pdf output.pdf
新しい Tesseract で OCR をやり直す
ocrmypdf --redo-ocr old-ocr.pdf updated.pdf
PDF からすべてのテキスト/OCR を削除する
ocrmypdf --ocr-engine none --force-ocr input.pdf stripped.pdf
クイックリファレンス
| タスク | コマンド |
|---|---|
| 基本的な OCR | ocrmypdf input.pdf output.pdf |
| 言語を指定 | ocrmypdf -l fra input.pdf output.pdf |
| 複数の言語 | ocrmypdf -l eng+fra input.pdf output.pdf |
| すべてのページで OCR を強制的にやり直す | ocrmypdf --force-ocr input.pdf output.pdf |
| 既存の OCR を置き換える | ocrmypdf --redo-ocr input.pdf output.pdf |
| テキストのあるページをスキップする | ocrmypdf --skip-text input.pdf output.pdf |
| 特定のページのみ | ocrmypdf --pages 1,3,5-10 input.pdf output.pdf |
| 標準 PDF を出力 | ocrmypdf --output-type pdf input.pdf output.pdf |
| テキストをサイドカーに抽出 | ocrmypdf --sidecar text.txt input.pdf output.pdf |
| 画像を PDF に変換 | ocrmypdf --image-dpi 300 image.png output.pdf |
| ファイル内で OCR | ocrmypdf myfile.pdf myfile.pdf |
| メタデータを設定 | ocrmypdf --title "Title" input.pdf output.pdf |
| 並列ジョブ数 | ocrmypdf --jobs 4 input.pdf output.pdf |
トラブルシューティング
- 「Tesseract が見つかりません」:Tesseract をインストールし、PATH に含まれていることを確認してください。
- OCR の品質が低い:言語パック(
-l)を確認し、--deskew(ocrmypdf-image を参照)または--oversample 300を試してください。 - 「入力ファイルにテキストがあります」:状況に応じて
--force-ocr、--redo-ocr、または--skip-textを使用してください。 - 出力ファイルが大きい:
--optimizeのレベルと JBIG2 については、ocrmypdf-optimize を参照してください。 - 署名済み PDF:
--invalidate-digital-signaturesを使用して上書きできます(署名は無効になります)。
参考資料
コメント
Markdown 対応