PDFからテキストを抽出する:埋め込みテキスト、スキャン、OCRの限界

PDFに抽出可能な文字がある場合、スキャンにOCRが必要な理由、出力テキストの確認方法を説明します。

PDFからきれいにテキストを取り出せるかどうかは、見た目よりも「PDFの中に文字データが入っているか」で決まります。ワープロや請求書システムから出力されたPDF、またはOCR済みのスキャンPDFなら、選択・コピーできる文字オブジェクトを持っていることがあります。一方、OCR前のスキャンは、PDFの中に画像が貼られているだけです。その場合、テキスト抽出ツールは文字を新しく読めません。

LutrakitのPDFテキスト抽出は、すでにPDF内にある文字を .txt として取り出すためのツールです。処理はブラウザ内で行われ、PDFはアップロードされません。ただしOCRエンジンではありません。スキャン画像しかないPDFでは、先にPDF傾き補正などで画像を整え、その後にOCR専用の手段を使う必要があります。

まずPDFの種類を見分ける

PDFを開き、次の3つを確認します。

  1. 本文の一文をドラッグして選択できるか。
  2. Ctrl+F または Cmd+F で、見えている単語を検索できるか。
  3. 段落をコピーしてテキストエディタに貼ると、文字がほぼ正しいか。

3つとも問題なければ、埋め込みテキストがある可能性が高いです。ページ全体が四角く選択されるだけなら、画像スキャンの可能性があります。検索できるのにコピー結果が間違う場合は、OCR済みだが認識精度の低いテキスト層が入っているかもしれません。

この違いは重要です。PDFのテキスト抽出APIは、ページを人間のように見直すのではなく、PDF内のテキスト内容を読みます。PDF.jsの getTextContent() はページのテキスト内容を返し、空白を通常のスペースに正規化します(PDF.js API、2026-08-17参照)。またPDF AssociationのFAQも、スキャン文書を検索可能にするにはOCRで文字層を追加する必要があると説明しています(PDF Association PDF/A FAQ、2026-08-17参照)。

文字が入っているPDFでLutrakitを使う

基本の手順は次の通りです。

  1. PDFテキスト抽出を開く。
  2. PDFを1つドロップする。現行上限は1ファイル100 MB。
  3. ページ境界が必要ならページ別の区切りをオンにする。連続した文章でよければオフのままにする。
  4. report-text のような出力名を入れる。
  5. 実行し、生成された .txt をダウンロードする。

ページ別の区切りは、請求書、議事録、フォームの確認に向いています。ページ番号ごとの見出しが入るため、「7ページ目の金額が抜けていないか」のような確認をしやすくなります。

作例

再配布可能な3ページ構成のサンプルPDFを使います。

ページ 内容 期待する結果
1 デジタル文字: “Invoice A-1024, total 148.60 EUR” 同じ語句と数値が .txt に出る。
2 2段組のメモ 文字は出るが、列の順序を確認する必要がある。
3 “Signed on 17 August 2026” と書かれたスキャン画像 OCR層がなければ空、またはほぼ空になる。

再現可能な確認として、ブラウザ、OS、Lutrakitのリビジョン、サンプルファイルのハッシュ、期待テキスト、実際の出力、不一致を記録します。

読み順が崩れる理由

PDFはページの見た目だけでなく、描画命令や文字の配置情報を持っています。見た目は普通の段落でも、内部では細かい文字列、2段組、ヘッダー、フッター、特殊フォントに分かれていることがあります。抽出ツールはそれらの情報をたどるため、人間が自然に読む順番と一致しない場合があります。

よくある問題は次の通りです。

  • ヘッダーやフッターが本文の途中に入る。
  • 2段組の左列と右列が交互に混ざる。
  • 合字や特殊フォントで文字が化ける。
  • 日本語など、単語間スペースがない言語で不自然な空白が入る。
  • OCR済みスキャンで O0l1 のような誤認識が残る。

法務、学術、会計、アーカイブ用途では、抽出テキストだけを証拠にしないでください。必ず元のPDFと照合します。

スキャンPDFの場合

画像だけのPDFでは、最初にテキスト抽出をしても十分な結果は出ません。先に画像を整え、OCRを行います。

  1. 傾きを直す。Tesseractの品質ガイドは、傾いた画像では行分割の品質が大きく下がるため、文字行が水平になるよう回転することを勧めています(Tesseract ImproveQuality、2026-08-17参照)。
  2. 可能なら清潔で高解像度のスキャンを使う。同ガイドは300 DPI以上が役立つ場合があるとしています。
  3. 黒い縁を取り除き、適度な白い余白を残す。
  4. ローカルまたは信頼できるOCRツールで文字層を作り、その後に必要なら .txt を抽出する。

PDF傾き補正は画像をまっすぐにする補助にはなりますが、OCR文字層は追加しません。きれいな画像は後段のOCRを助けますが、それだけで検索可能PDFになるわけではありません。

結果の確認方法

全文を何となく眺めるより、小さな監査をします。

  • 元PDFのページ数と、抽出結果のページ区切りを比べる。
  • 重要なページごとに固有の語句や番号を1つ検索する。
  • 金額、日付、氏名、IDをPDF画面と照合する。
  • 2段組では、少なくとも1セクションを通して読み順を確認する。
  • OCR済みスキャンでは、重要な文字を目視で読む。

抽出テキストを別のシステムに入れる場合も、元PDFを保管してください。.txt は検索用の作業ファイル、PDFは見た目の基準です。

使わない方がよい場面

低品質スキャン、手書き、複雑な表、チェックボックス付きフォーム、レイアウト自体が証拠になる文書では、この方法だけに頼らないでください。OCR、文書解析、PDFデスクトップアプリ、または手動確認が必要です。

Lutrakitが得意なのは、すでに存在するPDF内テキストをローカルで取り出し、自分で確認できる形にすることです。ファイルのバイトは端末から出ず、出力はブラウザ内の処理結果としてダウンロードされます。