Skip to content
Back to Blog
platform-pain-points

PDFのテキストが検索できない?OCRで解決しましょう

2026-05-17 8 min read

なぜあなたのPDFは検索させてくれないのか

Ctrl+Fを押して、4ページ目にあると分かっている単語を入力しても、何もヒットしない。テキストはそこにハッキリと表示されているのに、PDFはまるで写真のように振る舞う。それは、実質的にそれが「写真」だからです。 このイライラする状況は、たいてい2つの理由で発生します。誰かが署名済みの契約書、古い請求書、医療記録などの物理的な書類をスキャンし、テキスト認識なしでPDFとして保存したのかもしれません。スキャナーはページの「画像」をキャプチャしただけで、文字や単語を認識していません。あるいは、一部のソフトウェアアプリケーションは、元のファイルに完璧に選択可能なテキストが含まれていたとしても、すべてを単一の画像レイヤーにフラット化してPDFを作成し、下層のテキストデータを破棄してしまうことがあります。 その結果、見た目は完全に正常なのに、機械が読み取れる文字が一切含まれていないPDFができあがります。検索もできない。コピー&ペーストもできない。スクリーンリーダーも役に立たない。WordやExcelに変換しようとすると、空白のドキュメントや空のボックスだらけのファイルになってしまいます。 解決策は、光学文字認識、通称OCRです。OCRソフトウェアは、画像内のピクセルを分析し、文字の形状を識別して、実際のテキストを再構築します。OCRを実行すると、PDFには視覚的な画像の下に隠されたテキストレイヤーが目に見えない形で追加されます。見た目は以前と同じですが、Ctrl+Fが機能し、コピー&ペーストが可能になり、編集可能な形式への変換にも実際にコンテンツが含まれるようになります。

OCRが実際にすること(そして失敗する可能性のある場所)

OCRエンジンの核となるのは、画像を領域に分割し、個々の文字の形状を分離し、学習済みモデルと照合する、いわばハイリスクなマッチングゲームです。CocoConvertが使用しているTesseractベースのパイプラインのような現代のエンジンは、数百万の実世界のドキュメントでトレーニングされています。これらは標準フォント、大文字と小文字が混在するテキスト、一般的なレイアウトを、クリーンなスキャンであれば98%を超える精度で処理します。 しかし、その98%という数字に安心しきってはいけません。1ページあたり500語の10ページ文書には、およそ30,000文字が含まれます。98%の精度であっても、まだ600個のエラーが発生する可能性があります。これは、法的文書を信頼できないものにしたり、財務報告書を危険なほど誤解を招くものにしたりするには十分すぎるほどの数です。 ソース素材が悪いと、精度は急激に低下します。低解像度のスキャン(200 DPI未満のもの)、背景のテクスチャが濃いページ、奇抜な装飾フォント、不規則な間隔の列、あまり一般的でない言語の文書はすべて課題となります。96 DPIでスキャンされた色あせた感熱レシートは、OCRエンジンがどんなにスマートであっても、純粋に意味不明なテキストを生成するでしょう。 ページの向きも重要です。わずか3〜4度傾いてスキャンされた文書でも、文字のセグメンテーションプロセスを狂わせることがあります。CocoConvertのパイプラインを含む優れたOCRパイプラインは、この回転を自動的に検出して修正する「デスクュー」ステップを実行します。しかし、スキャンがひどく傾いている場合(手早く撮ったスマホ写真などを想像してください)、結果は完璧ではありません。 手書き文字はラスボスです。標準的なOCRは印刷されたテキスト向けに作られています。特に筆記体は、汎用ツールでは非常に信頼性の低い結果を生み出します。専門の手書き文字認識は存在しますが、それはまったく異なる技術であり、CocoConvertでは現在提供していません。文書が手書きである場合、OCRは最善を尽くしますが、かなりのエラーを覚悟し、完全な手動レビューを計画する必要があります。

CocoConvertを使ってスキャンしたPDFにOCRを実行する方法

これを実行するのは簡単です。CocoConvertにアクセスし、「PDFを検索可能なPDFに変換」ツールを見つけてください。PDFツールセクションの下にあるか、メインの検索バーに「OCR」と入力するだけでも見つかります。 次に、ファイルをアップロードします。CocoConvertは無料プランで最大200 MBのPDFを受け付け、有料プランではその制限が2 GBに跳ね上がります。もしお使いのプランで許容されるサイズよりも大きい大規模なスキャンアーカイブを処理する場合は、OCRを実行する前にPDF分割ツールで分割する必要があります。 アップロード後、OCR設定パネルが表示されます。ここで注意が必要です。最も重要な選択は言語です。デフォルトは英語ですが、エンジンは100以上の言語をサポートしています。文書がフランス語、ドイツ語、スペイン語、またはその他の言語である場合は、それを選択する必要があります。間違った言語を選択しても変換が中断されることはありませんが、特にアクセント付きの文字でエラー率が急増します。 もう一つの重要な選択は出力形式です。検索可能なPDF(元の画像が保持され、その下にテキストレイヤーが追加されるもの)またはテキストのみのPDF(認識されたテキストから文書の見た目を再構築するもの)を選択できます。契約書、請求書、レポートなど、ほとんどの一般的なユースケースでは、検索可能なPDFが必要です。テキストのみのオプションは、生のテキストを抽出して他の場所で編集する場合に役立ちますが、元のレイアウトや埋め込み画像は破棄されます。 「変換」をクリックし、1分ほど待ち(20ページのスキャンなら通常30〜90秒かかります)、ファイルをダウンロードします。開いてCtrl+Fを押し、単語を検索してみてください。ちょっとした魔法のようです。

OCR出力に頼る前に品質を確認する

OCRの出力を盲目的に信頼してはいけません。変換が完了したからといって完璧であるとは限りません。それは単にエンジンがすべてのページを処理したことを意味するだけです。次に、品質を確認する必要があります。 最も手っ取り早い方法は、コピー&ペーストテストです。真剣に、毎回これを実行してください。新しいPDFを開き、段落全体を選択してコピーし、シンプルなテキストエディタに貼り付けます。そしてそれを読んでみてください。OCRによくある間違い、例えば、文字化けした単語、単語間のスペースの消失、数字が文字と間違われること(数字の「0」が文字の「O」になるのは昔からの定番です)、句読点の破損などを探します。 法的契約書、医療記録、財務諸表など、精度が譲れない文書については、より徹底した確認が必要です。元のスキャンと新しい検索可能なバージョンを並べて開きます。少なくとも10%のページを抜き打ちで確認し、特にテキストが密な部分、小さなフォント、または元のスキャンがぼやけて見えた部分に注意を払ってください。 エラー率が1〜2%を超えるようであれば、問題はほぼ確実に元のファイルにあります。150 DPIではなく300 DPIで再スキャンすると、驚くほど改善することがあります。ほとんどの最新のスキャナーは200 DPIまたは300 DPIがデフォルトなので、「スキャン解像度」または「出力品質」の設定を確認してください。スマホで写真を撮っている場合は、Microsoft LensやAdobe Scanのような専用のスキャナーアプリが、パースを補正したりコントラストを上げたりするため、デフォルトのカメラアプリよりもはるかに優れています。 知っておくべきこととして、CocoConvertは信頼度スコアを提供したり、疑わしい単語を出力でハイライト表示したりしません。これは特定の高リスクなワークフローにとっては実際の制限となります。ABBYY FineReaderのようなエンタープライズプラットフォームはこれを提供しており、コンプライアンスに敏感な作業では、その追加の検証レイヤーが高いコストを正当化することができます。

スキャンされたPDFを編集可能なWord文書に変換する

検索可能なPDFは素晴らしいですが、実際にコンテンツを「編集」する必要がある場合はどうでしょうか?誤字を修正したり、数字を更新したり、セクション全体を再フォーマットしたりする必要があるかもしれません。そのためには、スキャンされたPDFを直接Word文書に変換したいと思うでしょう。 CocoConvertはこれを一括で実行できます。PDFからWordへの変換ツールを使用し、設定でOCRオプションを有効にしてください。「スキャンされたドキュメントのOCRを有効にする」というラベルのトグルを探してください。これがオンになっていると、エンジンはまずテキストを認識し、その後、一致するフォントと段落スタイルを含め、Wordで元のレイアウトを再構築するために最善を尽くします。 ここでのキーワードは「最善を尽くす」です。この再構築の品質は、文書の複雑さによって大きく異なる可能性があります。手紙やメモのようなシンプルな単一列の文書は、おそらく非常にきれいに変換されるでしょう。しかし、複数列の雑誌レイアウト、密な表、または画像にテキストが回り込んでいるようなものは、間違いなく手動での修正が必要です。表は悪名高い課題です。OCRはセル内のテキストを完璧に認識するかもしれませんが、表構造の再構築は、スキャン内の罫線がどれだけ明確であるかに完全に依存します。 Wordの出力を修正するための時間を確保する必要があります。標準的な書式の10ページのレポートであれば、フォント、ページ番号、ヘッダーの整理に少なくとも20〜30分は見ておきましょう。表や混在するレイアウトを含む50ページの大作であれば、それよりもはるかに時間がかかります。OCRからWordへの変換は、完成品ではなく、強力な「スタート地点」を与えてくれるものだと考えてください。

問題に対してOCRが間違ったツールである場合

OCRは強力な解決策ですが、それは正しい問題に対してのみです。OCRエンジンにファイルをかける前に、PDFに何が本当に問題なのかを診断することが賢明です。なぜなら、検索できないPDFのすべてが単純な画像スキャンではないからです。 時々、PDFには実際のテキストが含まれているものの、標準文字にマッピングされないカスタムフォントでエンコードされていることがあります。テキストを選択できるのに、コピー&ペーストすると意味不明な文字(ランダムな記号、空のボックス、ごちゃ混ぜの文字)になる場合、これが当てはまります。これは画像の問題ではなく、フォントエンコーディングの問題です。これにOCRを実行するのは、骨折した足に絆創膏を貼るようなもので、根本的な問題は解決せず、潜在的なエラーの層を増やすだけです。本当の解決策は、標準フォントを埋め込んでソースからPDFを再エクスポートすることです。 もう一つの原因はパスワード保護です。一部のPDFはテキストのコピーを制限するように設定されており、それが検索できないように見える原因となることがあります。この場合、OCRは役に立ちません。テキストデータは存在しますが、ロックされているだけだからです。まず制限を解除するためにパスワードが必要です。 そしてもちろん、PDFが単に破損していることもあります。ファイル構造が損傷している場合、正しく表示されないことさえあります。CocoConvertは軽微な破損を修復できますが、深刻に損傷したファイルはまったく処理に失敗する可能性があります。 最後に、OCRを完全なアクセシビリティソリューションと混同しないでください。視覚障害のあるユーザーのためにスクリーンリーダーでPDFを完全に利用可能にすることが目標であれば、OCRは最初のステップに過ぎません。真のアクセシビリティには、タグ付けされた構造(見出し、リスト、読み上げ順序、画像の代替テキストの定義)が必要であり、これは自動ツールではまだうまく処理できない、別の、より複雑なプロセスです。

毎回より良いOCR結果を得るための実践的なヒント

ソースファイルの品質は、OCRの精度において最大の要因です。ゴミを入れればゴミが出ます。良いニュースは、この部分は完全にあなたの管理下にあるということです。 まず、300 DPIでスキャンしてください。これは何度強調しても足りません。これは、アーカイブ専門家や法務事務所が推奨する普遍的な標準であり、それには理由があります。300 DPIでは、文字はシャープでクリアです。150 DPIでは、小さなフォント(10pt未満のもの)はぼやけて曖昧になり始めます。600 DPIに上げても、ファイルサイズがはるかに大きくなる割にはわずかな改善しか得られないため、ほとんどの文書にとって300 DPIが最適なスイートスポットです。 テキストのみの文書の場合は、グレースケールまたは白黒モードを使用してください。カラースキャンはサイズが大きくなり、テキストをぼかす圧縮アーティファクトを引き起こす可能性があります。カラーチャートや写真を保存する必要がない限り、グレースケールにこだわりましょう。そして、どうかスキャナーのガラスをきれいにしてください。その小さな汚れや埃の斑点は、スキャンのすべてのページに黒いマークとして現れ、OCRエンジンは何の文字かを解読しようと時間を無駄にしてしまいます。PDFのエクスポートで苦労したことがある人なら、細かいディテールがいかに重要かを知っているはずです。 本をスキャンする場合は、背表紙を平らに押し付け、一度に1ページずつスキャンしてください。一度に2ページをスキャンしようとすると、背表紙付近に影とカーブが生じ、その領域のOCR精度が台無しになります。 最後に、大規模なプロジェクトの場合、CocoConvertの有料プランはバッチ処理をサポートしていることを覚えておいてください。処理する50個のスキャンされたPDFのフォルダがある場合、それらをZIPファイルにまとめて一度にアップロードできます。古いアーカイブをデジタル化する人にとっては、非常に時間の節約になります。

PDFのテキストが検索できない?OCRで解決しましょう | CocoConvert Blog