なぜPDF抽出ツールは、あるファイルでは98%の精度なのに、
別のファイルではゴミを出力するのか? — 3つのPDFタイプを解説
画面上ではまったく同じに見える2つのPDFを処理したとします。一方は98%の精度で綺麗に抽出できました。もう一方は、列がずれ、フィールドが欠落した、めちゃくちゃな結果になりました。その違いは? 一方はテキストベースのPDFで、もう一方は画像のみのPDFだったからです。抽出ツールの処理方法が根本的に異なるのです。
重要ポイント
- 同じ抽出ツールで、あるPDFは98%の精度、別のPDFはゴミになる。画面上は同じに見えても、PDFは構造的に異なる3つのコンテナ形式だからだ。
- ハイブリッドPDFは、1ページ目にテキストレイヤー、3ページ目にスキャン画像を持つ。そのため、ツールはページの半分で誤ったデータソースを読み取り、一見正しく見えるが実際は間違った数値を返す。
- カーソルでテキストを選択してみよう。たった10秒のテストで、あなたのPDFが3つのタイプのどれか、そしてどの抽出戦略を適用すべきかがわかる。
抽出の成否を決める3つのPDFタイプ
同じ種類の情報を含む2つのPDFを並べて開き、同じ抽出ツールにかけたのに、まったく異なる結果が出た経験はありませんか?それはあなただけではありません。これはドキュメント抽出ツールに関する最も一般的な不満であり、ほとんどの場合、ツールのせいではありません。
問題は、PDFが単一のフォーマットではないことです。PDFはテキストを根本的に異なる3つの方法で保存できるコンテナであり、ほとんどの抽出ツールはそのうちの1つか2つしか適切に処理できません。重要な違いは、ファイルの拡張子が.pdfかどうかではなく、埋め込みテキストレイヤー、テキストのフラット画像、またはその両方が含まれているかどうかです。各タイプの内部構造は次のとおりです。
ソフトウェアで作成 — Word文書をPDF保存、QuickBooksのエクスポート、ERP生成レポートなど。実際の文字データ、フォント情報、位置座標を含むテキストレイヤーが埋め込まれています。マウスで単語をハイライト、選択、コピーできます。
標準抽出の精度:>95%。OCRは不要。
紙文書の写真やスキャンをPDF保存したもの。テキストレイヤーは存在せず、すべての文字は単にピクセルのパターンです。テキストを選択しようとすると、カーソルは中空の長方形を描き、何もハイライトされません。実質的にPDFラッパー内の写真です。
OCRまたはビジョンAIが必要。精度:スキャン品質により85~99%。
両方の混合:テキストレイヤーと埋め込み画像。一般的な例としては、スキャンされた署名ページ付きの契約書や、1ページ目がシステム生成のサマリーで、その後に関連領収書の写真が続くAPパケットなどがあります。
最も危険なタイプ。ツールが間違ったレイヤーを読み取り、もっともらしく見えるゴミを出力する可能性があります。
核心的な洞察:PDFは画面上の見た目だけで判断できません。同じように表示される2つのファイルでも、フォーマットレベルで構造が異なる場合があります。抽出ツールが最初のファイルを完璧に処理し、2番目のファイルでめちゃくちゃな結果を出力した場合、最も可能性の高い説明は、それらが異なるPDFタイプに属しており、ツールが間違った抽出戦略を適用したことです。
10秒でわかるあなたのPDFの診断方法 — 3つのテスト
PDFの種類を見極めるのに、解析ツールや開発者は必要ありません。必要なのは、どのOSにも標準搭載されているPDFリーダーだけです。以下の3つのテストは、オンライン解析ツールにファイルをアップロードするより短時間で完了します。
テスト1:テキスト選択テスト(最も信頼性が高い)
PDFを任意のリーダー(Adobe Acrobat、Chrome、macOSのプレビュー、モバイルのPDFアプリなど)で開きます。テキスト選択ツール(通常はIビームカーソルやTアイコン)をクリックし、文章や数字をドラッグして選択してみてください。
- 単語がハイライト表示され、コピーできる場合:PDFに利用可能なテキストレイヤーがあります。ネイティブのテキストベースPDFか、OCR処理済みのPDFです。標準的な抽出が機能します。
- カーソルが中空の長方形を描き、何もハイライトされない場合:PDFは画像のみです。抽出できるテキストレイヤーはなく、ピクセルデータだけです。OCRやビジョンAIが必要です。
このテストは決定的です。スキャン文書は、どれだけ文字がはっきり見えても、選択可能なテキストを一切生成しません。人間の視覚系はピクセルパターンを文字として読み取りますが、コンピュータは画像として認識します。
テスト2:検索テスト(簡易確認)
Ctrl+F(Macの場合はCmd+F)を押し、文書内に存在することがわかっている単語(例:請求書の「合計」や契約書の「日付」)を入力します。
- 単語が見つかりハイライト表示された場合:PDFに検索可能なテキストが含まれています。標準的な方法で抽出は成功するはずです。
- 単語がページ上に視認できるにもかかわらず、検索結果がゼロの場合:文書は画像のみです。
テスト3:混合結果テスト(ハイブリッド検出用)
このテストはほとんどの人が省略するため、ハイブリッドPDFが見逃される原因です。 テスト1を最初のページだけでなく、すべてのページで実行してください。1ページ目でテキストを選択し、次に3ページ目、5ページ目へとスクロールします。
- 選択可能なテキストがあるページとないページがある場合:それはハイブリッドPDFです。これが最も不可解な抽出失敗を引き起こすシナリオです。ツールは1ページ目と2ページ目を完璧に処理しますが(クリーンなテキストレイヤーがある)、3ページ目(同じファイル内のスキャン画像)では列のずれやフィールドの欠落が発生します。ファイル名は同じで見た目も一貫しているため、ツールが処理の途中で「壊れた」ように感じられます。
PDFの種類を特定できれば、修正方法は明確です。種類ごとに根本原因と解決策が異なります。
原因1:テキストベースPDFなのに文字化けするケース
症状:テキストは選択可能で、ソフトウェアで作成されたPDFだが、抽出結果に列の順序違い、セルの結合ミス、画面上と一致しない文字が含まれる。
原因:PDFはWord文書のようにテキストを保存しない。定義された読み順を持つ線形の段落ではなく、PDFはテキストを一連の描画命令としてエンコードする——文字「I」を座標(72, 540)に配置、「n」を(78, 540)に配置、といった具合だ。段落、読み順、表構造といった概念はフォーマットに組み込まれていない。PDFは各文字の画面上の位置を知っているが、テキストの意味や読み方を理解していない。
抽出ツールはこれらの低レベルの位置情報から論理構造を再構築する必要がある。特殊なフォントエンコーディング、カスタム文字マッピング(CMap)、非標準のPDF生成プログラムでPDFが作成された場合、ファイルに技術的にテキストレイヤーが含まれていても、再構築時に出力が乱れる可能性がある。これは以下の場合に最もよく発生する:
- ERP生成PDF:一部のエンタープライズシステムは非標準の方法でテキストをエンコードするカスタムPDFジェネレーターを使用する——画面上ではPDFリーダーが独自のテキストレンダリングを適用するため文字は正しく見えるが、基礎となるエンコーディングが非標準であり、抽出ツールが正しく解釈できない。
- フォントサブセット埋め込みPDF:フォント文字のサブセットのみが埋め込まれている場合、抽出ツールがグリフを誤ったUnicode文字にマッピングし、実際の内容とアルファベット順に隣接しているが意味的に間違った「テキスト」を生成する。
- マルチカラムレイアウト:適切に形成されたテキストベースのPDFでも、抽出ツールが2つのカラムを上から下に読み取ると出力が乱れる。左カラムの末尾から右カラムの末尾へと文章が飛び、完全に読めなくなる。
修正方法:エンコーディングやレイアウトの問題で抽出がうまくいかないテキストベースPDFの場合、PDFを画像にフラット化し、ビジョンAIツールを使用する。PDFページを高解像度画像(300 DPI以上)に変換し、ページをテキストストリームではなく視覚的なシーンとして扱うビジョン言語モデルに与えることで、エンコーディングと読み順の問題全体を回避できる。AIは人間と同じように、ページを見てその視覚的構造を理解することで文書を読み取る。
ImageToTable.aiはこれを自動的に処理する:PDFをアップロードすると、そのビジョンモデルはテキストレイヤーではなく、レンダリングされたページを画像として読み取る。つまり、抽出がPDFの内部テキストストリームに依存しないため、エンコーディングが不適切なテキストベースPDFでも正しく処理される。
原因2:画像のみのPDF — テキストレイヤーがまったくない
症状:どのページでもテキストを選択できません。表示は問題ないように見えますが、どの抽出ツールを使っても空の結果かOCRのゴミが返ってきます。文書は実質的に、PDFのラッパーに貼り付けられた写真のセットです。
なぜ起こるか:これは実際のビジネスで最もよくあるPDFのケースです。ベンダーが請求書を印刷し、署名・捺印して、スキャンしてデジタルファイルに戻します。または、現場の検査員が紙のフォームに記入し、スマホで撮影して、画像をPDFとして保存してメールします。PDFの内部構造には、ページごとに1つのオブジェクト、つまり1つのフラット化された画像だけが含まれています。文字オブジェクト、フォント参照、テキスト描画命令はゼロです。
従来の抽出ツール(pdfplumberやPyMuPDFのテキスト抽出モードなどのPythonライブラリ、ExcelのPDFインポート機能を含む)は、テキストレイヤーのみを読み取ります。画像のみのPDFを開くと、抽出するものが何もなく、空白の結果を返します。これはツールのバグや制限ではありません。ツールは正しく動作しています。文書にツールが必要とするものが単に含まれていないだけです。
修正方法:画像のみのPDFには、OCR(光学文字認識)またはビジョンAIが必要です。抽出ツールはページを画像として読み取り、ピクセルのパターンを文字として認識し、テキストを再構築できなければなりません。ここで、スキャンの品質が結果の精度を直接左右します。
高解像度スキャン(300 DPI以上)で、コントラストが良く、影がなく、傾きが最小限であれば、最新のツールで95%以上の抽出精度が得られます。低解像度スキャン(例えば、悪い照明の下でくしゃくしゃのレシートをスマホで撮影したもの)では、精度が70%を下回る可能性があります。スキャンPDFからのAI抽出は通常、この範囲をカバーします。なぜなら、ビジョンモデルは完璧なスキャンだけでなく、現実世界の条件下での文書を読むように訓練されているからです。
重要な違い:画像のみのPDFは一貫して解決可能です。すべてのページに同じアプローチ(視覚的な読み取り)が必要で、結果の品質は元の品質に基づいて予測可能です。本当の落とし穴は、動作が一貫しないタイプです。原因3:すべてを台無しにする隠れたハイブリッドPDF
症状:一部のページは正常に抽出されるが、他のページは文字化け、列のずれ、フィールド欠落が発生する。失敗するページは成功するページと見た目が同じ。抽出ツールがバッチ処理の途中で「ランダムに」壊れたように見える。
原因:ハイブリッドPDFは通常のPDFと見た目がまったく同じであるため、抽出失敗の原因として最も見落とされがちです。ハイブリッドPDFにはテキスト層と埋め込み画像の両方が含まれており、多くの場合、ページごとに異なります。このようなシナリオで発生します:
- 建設業者がAIA G702支払申請書を提出。1ページ目は会計ソフトで生成(テキストベース)。2~5ページ目は署名済み変更指示書のスキャンコピー(画像のみ)。全体が1つのPDFファイルに結合されている。
- 保険ブローカーが保険証明書を送付。1ページ目はシステムからのデジタル出力。2ページ目は元の保険約款のスキャンコピー。
- サプライヤーが「完全な請求書パケット」をメールで送信。実際の請求書はデジタルPDFだが、添付の梱包明細と配送確認書は同じ文書に保存されたスキャン写真。
従来のツールがハイブリッドPDFを処理する場合、ファイル全体に単一の抽出戦略を適用します。ツールがテキスト層を読み取ると、2~5ページ目は何も返しません(テキスト層がないため)。ツールがすべてにOCRを適用すると、すでにテキスト層があるページからテキストを二重抽出し、重複またはマージされたデータを生成する可能性があります。一部のツールは両方の層を同時に読み取ろうとし、テキスト層の列とOCR層の列がランダムに混ざり合った混乱した出力を生成します。
これが最も危険な障害モードです。出力が本物のデータのように見えるからです。セルに数値があり、日付が一致し、名前が正しく表示されます。しかし、合計が間違っており、明細項目がずれており、自動化の目的を無効にする完全な手動検証なしでは抽出を信頼できません。
修正方法 — 2つのオプション:
ハイブリッドPDFのすべてのページを高解像度画像に変換し(Adobe Acrobatの「すべての画像を書き出し」や無料コンバーターなどを使用)、画像を再結合して画像のみのPDFを作成します。これで全ページが均一に画像になり、抽出ツールを混乱させる混合層がなくなります。
最適なケース:画像ベースのPDFをうまく処理できるが、混合層に混乱するツールを使用しているユーザー。
ImageToTable.aiを含む一部のAI抽出ツールは、デフォルトでレンダリングされたページを画像として読み取ることでPDFを処理します。つまり、テキスト層を事実上無視し、文書全体を視覚的に扱います。これにより、ツールが2つの異なるデータソースを調整しようとしないため、ハイブリッド問題を完全に回避できます。
最適なケース:大量のベンダー文書を処理し、処理前に各ファイルを検査する余裕がないユーザー。
フラット化すべきか、切り替えるべきか — 実践的な判断基準
特定したPDF抽出の問題タイプに応じて、診断と解決に役立つクイックリファレンスです。
| 診断結果 | 対策 | 期待精度 |
|---|---|---|
| テキストベース、正常に抽出 | 不要 — ツールとファイルは互換性あり | >95% |
| テキストベース、列が乱れる | 画像にフラット化し、ビジョンAIツールを使用 | フラット化後 >95% |
| 画像のみ、スキャン品質良好 | OCRまたはビジョンAI対応ツールを使用 | 90~99% |
| 画像のみ、スキャン品質不良 | まず元文書を改善し、その後ビジョンAIを使用 | 70~90%(元文書に依存) |
| ハイブリッド(ページ混在) | ファイル全体をフラット化、または画像のみモードを使用 | 対策後は画像のみの場合と同等 |
全ページをクリーンな画像に変換するフラット化アプローチは、3種類すべてのPDFタイプで有効な汎用的な回避策です。これはハックではありません。抽出パイプラインから形式のあいまいさを取り除く意図的な戦略です。すべてのページが均一に画像になれば、抽出ツールは一貫した方法を適用し、出力が予測可能になります。
この判断基準はPDFタイプの問題を対象としています。列構造が正しく、PDFタイプも適切であるにもかかわらず、抽出された数値が一貫して間違っている場合(合計が小計として出力される、日付が別の日付と入れ替わるなど)、問題は抽出列の定義方法にある可能性があります。あいまいな列名は、抽出数値が誤る最も一般的な原因の一つであり、「合計」を「支払総額」に変更するだけで解決することがほとんどです。
よくある質問
「全ページでテキスト選択が可能なのに、抽出結果が文字化けするのはなぜ?」
テキスト選択ができるということはテキストレイヤーが存在する証拠ですが、それが適切に構成されているとは限りません。一部のPDF生成ツールは、標準外の文字エンコーディングやCMapテーブルを使用してテキストレイヤーを作成します。これらは画面上では正しく表示されますが(PDFリーダーが独自のフォントレンダリングを適用するため)、抽出ツールが解析するのは困難です。この場合は、ファイルを画像のみのPDFと同様に扱い、画像に変換してページを視覚的に読み取るツールを使用してください。
「1つのツールで3種類すべてのPDFを処理できますか?」
はい、テキストレイヤーに依存せず、ドキュメントを視覚的に読み取るツールであれば可能です。テキストレイヤーの抽出のみに依存するツール(ほとんどのPDF変換ライブラリやExcelの標準PDFインポート機能など)は、テキストベースのPDFしか処理できません。ImageToTable.aiのようなビジョンAI搭載ツールは、各ページを画像としてレンダリングし、人間と同じように読み取るため、すべてのPDFタイプを一律に処理できます。
「使っているツールがどのタイプに対応しているか分かりません。どうすれば確認できますか?」
画像のみのPDF(何もハイライトされないスキャン文書)でテキスト選択テストを実行してください。ツールがデータを抽出できれば、何らかの視覚的読み取りまたはOCRを使用しています。空の結果が返ってきた場合は、テキストレイヤーに依存しています。ほとんどの単純なPDFパーサーは後者に該当します。
「紙の書類をすべて高解像度でスキャンすれば問題は解決しますか?」
高解像度にすると画像のみのPDFに対するOCR精度は向上しますが、根本的な問題は変わりません。画像のみのPDFには、従来のツールが読み取るためのテキストレイヤーが依然として存在しません。抽出ツールが視覚的読み取りに対応していなければ、600 DPIでスキャンしても何も抽出されません。スキャン品質だけでなく、ツール自体をアップグレードしてください。
「受け取る前に誰かがOCR処理したPDFの場合はどうなりますか?」
OCR処理済みのPDFには、スキャン画像の上に不可視のテキストレイヤーが追加されています。テキスト選択テストは機能し(テキストがハイライトされます)、ほとんどの抽出ツールも成功します。ただし、元の画像品質は依然として重要です。元のスキャンが低品質だった場合、OCRテキストレイヤーに文字誤りが含まれ、抽出ツールがそれを継承する可能性があります。一部のビジョンAIツールは、埋め込まれたテキストレイヤーを信頼する代わりに、画像を直接再OCRするように設定でき、OCR品質が低いドキュメントでは精度が向上します。
扱っているPDFのタイプがわからない? サンプルをアップロードして、ビジョンベースのツールがどのように処理するか試してみてください。登録は不要です。
あなたのファイルでPDF抽出をテストする