PDFテキスト抽出ツール
PDFからプレーンテキストをブラウザ内で直接取り出します — 文書に埋め込まれたテキストレイヤーを読み取るだけで、アップロードもOCRも不要です。
234回閲覧
処理中…
PDFを読み込めませんでした — ファイルが破損しているか、パスワードで保護されている可能性があります。
テキストが見つかりませんでした — このPDFは、テキストレイヤーが埋め込まれていないスキャン画像である可能性があります(このツールはOCRを行いません)。
PDFのテキストレイヤーとは実際には何なのか
PDFはページの「画像」ではありません — 少なくとも通常は。ワープロソフト、Webページ、あるいは組版ソフトウェアからPDFが作られるとき、ページの内容は一連の描画命令として保存されます。「グリフGをフォントF、サイズSで座標(x, y)に配置する」という命令が、ページ上のすべての文字について繰り返されるのです。それぞれのグリフ配置命令は、フォントの文字エンコーディングテーブルへの参照を持っており、そのおかげでソフトウェアは、描画された形をただの絵ではなく実際のUnicode文字として対応付けることができます。このツールは、MozillaのオープンソースライブラリであるPDF.jsを使ってPDFを読み込み、すべてのページでgetTextContent() APIを呼び出すことで動作します — 重要なのは、この方法がページをピクセルとして描画することなく、この命令のストリームを直接読み取るという点です。そのため、グラフィックアクセラレーションのないデバイスでも動作し、レンダリングに比べてほぼ瞬時に処理が完了します。
これは、紙の文書を写真に撮ったりスキャナーにかけたりしてPDFとして保存した際に得られるスキャンされたPDFとは根本的に異なります — その場合の「ページ」は、単なるページ全体のJPEGやTIFF画像であり、その背後にグリフ命令はまったく存在しません。テキストが何であるかをどのソフトウェアも把握しておらず、ただピクセルを取り込んだだけだからです。スキャンされたページに対してgetTextContent()を呼び出しても、何も、あるいはほぼ何も返ってきません。読み取るべきテキストレイヤーがそもそも存在しないためです — 通常のPDFビューアでスキャンされたページのテキストを選択できないのと同じように、その情報は本当にファイルの中に存在しないのです。スキャンされた文書からテキストを復元するには、まったく別の技術であるOCR(光学文字認識)が必要です。これはピクセルの形を分析して文字を推測する処理であり、本質的に異なる、はるかに誤りの多いプロセスであり、このツールはそれを行いません。あなたのPDFがスキャンされたものである場合は、代わりに専用の画像からテキストへ(OCR)のツールを探してください — 当サイトでは別途そうしたツールを用意する予定です。
抽出したテキストの順序が崩れることがあるのはなぜか
実際にテキストレイヤーを持つPDFであっても、より捉えにくい問題が生じることがあります。getTextContent()は、PDFが生成された際に元々描画された順序でグリフ配置項目を返します — それは必ずしも人間が読む順序とは限りません。単純な単一段組の文書のほとんどは上から下、左から右へと描画され、自然な読み順と一致するため、抽出結果は正しく見えます。しかし、PDFの書き出しソフトウェアはどのような順序で内容を描画してもよく、多くのソフトウェアは視覚的な順序を保持しません。2段組の学術論文、雑誌風のレイアウト、表、あるいはテキストボックスや吹き出しを含むPDFでは、仕様が定義しているのは読む順序ではなく位置であるため、描画順序が読者の視線の動きに対して入り交じったり、完全に逆転したりすることが容易に起こります。このツールはpdf.jsが報告する順序で各ページの項目を連結し、はっきりとした--- Page N ---マーカーでページを区切ります。これにより、どのブロックがどのページから来たのかを正確に把握でき、必要であれば複数段組の結果を手動で並べ替えることができます。
- アップロードは一切行われません: PDFはブラウザ内で動作するpdf.jsを使って完全にクライアント側で解析されます。ファイルがこのサイトのサーバーに届くことはありません。
- パスワードで保護されたPDFは開けません — このツールはPDFの暗号化や権限を回避しようとはしません。
- 抽出された空白は視覚的なレイアウトと異なる場合があります — 特に表は、整形されたグリッドとしてではなく、セルの値がフラットに並んだ列として抽出されることがよくあります。PDFにはHTMLのような「表」というネイティブな概念が存在しないためです。
- 複数ページの文書にはページマーカーが付きます。PDFのページは本来、互いに独立したコンテンツストリームであり、ページ間に本質的な段落の区切りが存在しないため、これにより1つのページの内容がどこで終わり、次のページがどこから始まるかがわかります。
よくある質問
結果が空、またはほぼ空になったのはなぜですか?
そのPDFはおそらくスキャンされた画像です — 紙のページを写真に撮ったりスキャンしたりしてPDFとして保存したもので、テキストは埋め込まれておらず、単なる画像です。このツールはPDFのテキストレイヤーを直接読み取るだけでOCR(光学文字認識)は行わないため、テキストレイヤーのないスキャンされたページからは読み取れるものが何も返りません。
2段組のPDFで抽出したテキストの順序が崩れるのはなぜですか?
PDFは内容を、書き出しソフトウェアが選んだ順序の描画命令として保存しており、それが視覚的な読み順と一致する保証はありません。2段組のレイアウト、表、あるいは雑誌風のページでは、ファイル形式が定義しているのが読む順序ではなくグリフの位置であるため、両方の段のテキストが入り交じることがあります。
このツールはスキャンされた文書に対してOCRを行いますか?
いいえ。このツールはpdf.jsの<code>getTextContent()</code> APIを通じて、PDFにすでに埋め込まれているテキストレイヤーを読み取るだけです — ピクセルを分析したり、画像内の文字を認識したりすることはありません。テキストレイヤーのないスキャンされた文書には、画像からテキストへ(OCR)のツールという、まったく別の技術が必要です。
PDFはサーバーにアップロードされますか?
いいえ — 抽出処理はすべて、オープンソースのpdf.jsライブラリを使ってブラウザ内で行われます。ファイルはFile API経由でローカルに読み込まれ、どこにも送信されることはありません。
出力に「--- Page N ---」というマーカーが付くのはなぜですか?
PDFの各ページは、独自のテキスト項目を持つ独立したコンテンツストリームであり、次のページとの本質的なつながりはありません。ページマーカーがあることで、あるページの抽出されたテキストがどこで終わり、次のページがどこから始まるかが明確になります。これは、段落や文がページの区切りをまたいで続いている文書にとって重要です。
関連ツール
問題を報告
PDFテキスト抽出ツール
コメント
まだコメントはありません — 最初のコメントを書いてみましょう!