PDFから文字を取り出せない原因がOCR不足か文字層の問題か見分けたい
OCRとPDFテキスト抽出の違い――先に見分ける3つの確認
文字を選べない、コピーすると文字化けする、表だけ崩れるという症状から、画像OCRと既存テキスト層の抽出のどちらが必要かを切り分けます。
OCRが必要とは限らない
PDFから文字を取り出せないとき、すぐにOCRをかけるのが正解とは限りません。PDFには大きく分けて、次の状態があります。
- ページが画像だけで、文字情報がない
- 文字情報はあるが、コピー時の対応づけが壊れている
- 文字は取れるが、表や段組みの構造が失われる
1では画像から文字を読むOCRが必要です。2では既存の文字情報と見た目を照合し直す必要があります。3では文字認識より、位置関係や読み順の復元が中心です。
処理を選ぶ前に、症状を3段階で確認します。
確認1:文字を選択できるか
PDFビューアで本文をドラッグします。
まったく選択できない
ページ全体が1枚の画像になっている可能性があります。紙をスキャンしたPDFや、画像として書き出された資料でよく起きます。この場合はOCRの対象です。
ただし、選択できない理由が閲覧制限やビューアの操作にある場合もあります。別の一般的なPDFビューアでも同じか確認します。
文字らしい範囲を選択できる
何らかのテキスト層があります。ここでOCRを重ねる前に、コピー結果を確認します。既存文字とOCR文字が二重になり、後の検索やコピーが扱いにくくなる場合があるためです。
確認2:1文だけコピーするとどうなるか
短い本文をコピーし、プレーンテキストへ貼り付けます。結果によって原因を分けます。
| 結果 | 考えられる状態 | 必要な処理 |
|---|---|---|
| 正しく貼れる | 文字層は使える | 表・段組みなど構造だけを確認 |
| 別の文字になる | 文字と表示字体の対応がない | 見た目から本文を復元 |
| 空白になる | 文字層が不完全、または画像 | ページを追加確認 |
| 順番が入れ替わる | 段組みや配置順の問題 | 読み順を復元 |
| 同じ文字が二重になる | 画像とOCR層が重複 | 文字層を整理してから抽出 |
1ページだけで判断せず、本文ページ、表のあるページ、末尾のページでも試します。文書内で状態が混在することがあるからです。
確認3:文字ではなく構造が壊れていないか
本文が正しくコピーできても、表を貼ると1列になる、2段組が左右交互になる、数式の上下関係が消えることがあります。これは文字を読めていない問題ではなく、配置の関係が失われる問題です。
表の場合
セル境界、結合見出し、行と列の対応を復元します。OCRで文字列だけを増やしても、表の構造は戻りません。
2段組の場合
ページ全体の座標順ではなく、左段から右段という読み順を判定します。
数式の場合
上付き、下付き、分数、根号などを、単なる文字の並びではなく数式として扱います。
OCRとテキスト抽出の使い分け
| 状態 | OCR | 既存テキストの利用 | 構造復元 |
|---|---|---|---|
| スキャン画像だけ | 必要 | できない | 表や段組みがあれば必要 |
| 文字化けする | 見た目の復元に使う場合がある | 文字位置の手掛かりになる | レイアウトに応じて必要 |
| 本文はコピーできる | 原則不要 | 利用する | 表・段組み・数式で必要 |
| OCR文字が二重 | 追加しない | 重複を整理する | 必要に応じて行う |
「OCR済み」という表示だけでは、利用できる文字層かどうかは分かりません。実際に選択し、コピーし、読み順と表構造を確認します。
再OCRの前に元PDFを残す
新しい文字層を付けたPDFで元ファイルを上書きすると、処理前後を比較できなくなります。元PDF、処理済みPDF、抽出結果を別ファイルとして残します。
ファイル名には処理日や版を含め、どの結果がどの原本から作られたか分かるようにします。特に、後から数値を集計する場合は、抽出結果だけでなく元ページを追える状態が必要です。
迷ったときの判断順
- 文字を選べるか
- 1文を正しくコピーできるか
- 表・段組み・数式の構造が保たれるか
- 文書内で状態が混在していないか
- 必要な出力がExcel、Word、Markdown、JSONのどれか
この順で確認すれば、画像OCRが必要なのか、文字化けの復元が必要なのか、構造の復元が必要なのかを切り分けられます。
PDFIntactの無料診断はブラウザ内で行われ、診断中に原本を送信しません。コピーできないPDFが画像なのか、取り出せる表や本文があるかを先に確認できます。