← 技術ブログに戻る

OCR の前に PDF を検出すべき理由:年間 OCR コスト約 80% 削減

OCR 前の PDF 事前検査とコスト最適化

多くのドキュメントパイプラインは「PDF を受け取ったら OCR」と決め打ちしますが、実際には ページの 60%〜80% は OCR 不要です。選択可能なテキスト層、ベクタ表、埋め込みフォントを持つページに対して OCR を走らせるのは、OCR Cost の無駄遣いです。PDF 事前検査(pre-flight) を入れてから Textract や Document AI を呼ぶのが、OCR Optimization で最も ROI の高い一手です。本記事では、なぜ検査が必要か、ページ分類の方法、本番導入のポイントを解説します。

1. OCR の前に PDF を検出する理由

PDF OCR は多くの場合ページ課金です。AWS Textract、Google Document AI、Azure Document Intelligence、ABBYY、PaddleOCR マネージド版など、単価は $0.0015〜$0.05+/ページ と幅があります。問題は PDF が単一フォーマットではないこと。同じ「請求書.pdf」でも:

  • 基幹システムからのネイティブテキスト PDFpdftotext で即全文取得);
  • Word から変換した埋め込みフォント PDF
  • スキャナ由来のラスター画像のみの PDF(OCR 必須);
  • 表紙だけスキャン、本文はテキストのハイブリッド

事前検査なしで全ページ OCR すると、既存のテキスト層を「画像として再読み」することになり、コストだけでなく誤認識も増えます。金融・法務・保険のバッチ処理では、ページ単位の pre-flight + ルーティング でクラウド OCR 呼び出しを半減させるのは珍しくありません。電子契約や銀行明細などテキスト比率が高いコーパスでは、年間 70%〜80% の OCR Cost 削減も現実的です。

鉄則: OCR はフォールバックであり、デフォルトの入口ではない。「このページに信頼できるテキストがあるか」を先に問い、「どの OCR ベンダーか」はその次です。

2. 1 ページの本当のコスト

最適化の前に計測口径を揃えましょう。クラウドベンダーの一般的な課金軸:

項目2026 年の目安単価備考
基本 OCR(テキストのみ)$0.0015〜0.003/ページ表・フォームなし
表 / フォーム OCR$0.01〜0.05/ページDocument AI 構造化ティア
手書き / 低品質スキャン1.5〜3 倍のプレミアム人手 QA キューが必要な場合も
自前 GPU(償却)≈$0.0003〜0.001/ページ利用率に依存

例:月 200 万ページ、混合単価 $0.008/ページ なら年間 OCR 約 $192,000。pre-flight で 75% がテキスト抽出で足りる(限界費用ほぼゼロ)と判明し、25% だけ OCR なら OCR 支出は約 $48,000——約 75% 削減。誤認識による再作業が減ると、体感では 80% に近づくこともあります。

単価はリージョンや Batch、コミット量で変動します。感度分析には Google Document AI の料金AWS Textract の料金 を参照してください。LLM の多段ルーティングで API 費を抑えているなら、ドキュメント側も同じ規律が必要です——OmniRoute 移行検収リスト のような層別パターンが参考になります。

3. 3 種類の PDF:ルーティングせよ、一括 OCR するな

タイプシグナルルート相対コスト
A. ネイティブテキストフォントあり;pdftotext が閾値超抽出 + エンコーディング正規化≈0
B. ハイブリッド一部ページはテキスト、一部はスキャンページ単位ルーティング
C. フラットスキャンフォントなし;全面ビットマップOCR(必要なら傾き補正・ノイズ除去)

ハイブリッド文書で失敗しがちなのは「ファイル全体に一つの戦略」を当てることです。200 ページの M&A 資料でも、スキャン付録だけ OCR が必要なケースは珍しくありません。ページ単位の検出こそ、本物の PDF OCR 最適化です。Adobe の PDF フォントガイド は埋め込みテキストとスキャン層の違いを説明しています——検出器は拡張子ではなく、ページごとの text operator を見るべきです。

4. 5 段階の pre-flight パイプライン

  1. 構造プローブ:ページ数、暗号化、破損——課金 OCR の前に修復。
  2. テキスト層プローブ:ページごとの文字数とフォントオブジェクト;閾値超かつゴミ文字率が低ければ TEXT_OK
  3. 画像カバレッジ:大きなビットマップ + テキスト空 → SCAN
  4. 品質スコア:DPI、コントラスト、傾き——有料リトライを避けるため OCR 前に前処理。
  5. ルートTEXT_OK → ローカル抽出;SCAN → OCR キュー;HYBRID → ページ分割。

メトリクスをエクスポート:preflight_text_ratioocr_pages_ratioocr_retry_rate。月次レビューは、ページ単価の値引き交渉だけより効果的です。

5. OSS とクラウド API

段階ローカル / OSSクラウド API
pre-flight / 抽出PyMuPDF、poppler、qpdf通常不要
OCR エンジンTesseract、PaddleOCR、SuryaDocument AI、Textract、Azure DI
pdfplumber、camelot(ネイティブ PDF)クラウドのフォーム/表モード

OCR Optimization の勝ちパターン:ローカル pre-flight、SCAN ページだけクラウド OCR

6. Python ルーティング例

import fitz  # PyMuPDF
MIN_CHARS = 30

def page_classify(page) -> str:
    text = page.get_text("text").strip()
    if len(text) >= MIN_CHARS:
        return "TEXT_OK"
    if page.get_images(full=True) and len(text) < MIN_CHARS:
        return "SCAN"
    return "HYBRID"

本番ではタイムアウト、暗号化 PDF のハンドラ、検索用メタデータを追加してください。pre-flight ワーカーは安定した CPU が必要です——バッチジョブは CI ワークロードに似ており、騒がしい共有 VPS より専用ノードが有利です(下記のクラウド Mac 参照)。

7. 事例:年間約 80% 削減

越境物流 SaaS が 1 日 8,000 PDF(約 32,000 ページ)を取り込んでいました。Document AI 全量 OCR($0.006/ページ)で月約 $5,760。ページ単位 pre-flight 導入後、OCR 対象は 22% のみ——月額 OCR 約 $1,270約 78% 削減、pre-flight 計算コストは月 $200 未満)。

フェーズ施策OCR ページ比率月額 OCR(目安)
導入前全量クラウド OCR100%~$5,760
導入後ページ pre-flight + ローカル抽出22%~$1,270
削減~78%

副次効果:ネイティブ ID フィールドの精度が OCR 時 ~96% からほぼ 100% に。追跡番号の誤読に関するサポートチケットが 40% 以上減少——OCR Cost 最適化で見落とされがちな隠れメリットです。

8. OCR 最適化チェックリスト

  • ☐ ダッシュボード:抽出 / OCR / リトライページの可視化
  • ☐ ページ単位ルーティング——ファイル単位の単一戦略禁止
  • ☐ SCAN ページは OCR 前に品質ゲート(DPI・傾き)
  • ☐ ネイティブ表は pdfplumber で、写真 OCR しない
  • ☐ 言語別にエンジンベンチマーク(CJK とラテン系を分離)
  • ☐ TEXT_OK ページを週 0.1% 人手スポットチェック
  • ☐ OCR 呼び出しが日次 +30% でアラート(段階的 API ルーティング と同じ FinOps 規律)

9. よくある質問

pre-flight は OCR より遅い?

ページごとのテキストプローブはミリ秒単位——クラウド OCR の RTT よりはるかに短いです。IO バウンドのバッチはワーカー並列化で対応。

偽のテキスト層は?

低品質な不可視 OCR テキストを載せたスキャン PDF があります。ゴミ文字率と画像重複チェックで疑わしいページを SCAN にダウングレード。

暗号化 PDF は?

pre-flight でパスワード解決。復号失敗を課金 OCR に繰り返し送らないこと。

80% は普遍的?

ネイティブテキストの割合次第。純スキャンアーカイブは 10%〜20%;電子請求書・契約書は 70%〜85% も。まず 1% サンプルで統計を取る。

Tesseract でクラウド OCR を置き換え?

単純レイアウトの大量処理には有効。複雑な表・手書きはクラウドや専用モデルが有利。pre-flight はローカル、難例はクラウドが定石。

LLM の「PDF 読み取り」との関係は?

マルチモーダルモデルはトークン課金で PDF を読むと高額。先にクリーンなテキスト/JSON に変換——OCR 前検出と同じ FinOps ロジックです。

pre-flight と OCR に安定ワーカーを

pre-flight、画像前処理、自前 OCR は長時間の CPU/GPU ジョブです。共有 VPS のノイズでタイムアウト→有料リトライが発生し、OCR Cost が膨らみます。Apple Silicon のユニファイドメモリは PyMuPDF とローカル推論の並列に向き、macOS の Python スタックは企業向け権限モデルとも相性が良いです。

PDF OCR や RAG 取り込みパイプラインを構築中なら、Nuvcloud 専用 Mac mini M4 を pre-flight/OCR ワーカーに——プランを見る、予測可能なハードウェアで OCR Optimization を。

関連記事

限定オファー →