抽出したテキストが乱れる・欠けるのはなぜか
PDFから取り出したテキストを見て、「順番が変」「空白だらけ」「一部が消えている」と感じることがあります。多くの場合、原因は読み取りの失敗ではなく、PDFそのものの作られ方にあります。ここでは PDF to Text で文字を抽出したときに起こりやすい現象と、その背景を説明します。
並び順が見た目と違う
PDF to Text は、PDFファイル自身が記録している順番で文字を読みます。作成したソフトによっては、見た目の順番と内部の順番が一致しないことがあります。明らかに2段組みのページは段ごとに読みますが、チラシや雑誌のように自由にレイアウトされたページでは、見出しと本文が離れて出てくることもあります。
アラビア語のように右から左へ書く言語は読む順番どおりに出力され、縦書きの日本語、中国語、ヒンディー語、回転した文字も扱えます。
表、ヘッダー、ハイフン
- 表は1行ごとに1行のテキストになり、セルの間は空白で区切られます。列の構造や罫線は残らず、表計算ソフト向けの書き出しもありません。
- ページの上下にあるヘッダーやフッター(書類名やページ番号など)も、本文と一緒にテキストに含まれます。
- 英文などで行末の単語がハイフンで分割されている場合、ハイフンはそのまま残ります。
文字が抜ける:フォントの対応表の問題
PDFの中には、文字の形は描けても「それがどの文字なのか」を示す情報を持たないフォントを使っているものがあります。字形と Unicode の文字を結び付ける対応表(ToUnicode)が欠けている、または壊れている状態です。この部分を無理に変換すると意味のない記号の羅列になるため、PDF to Text はその文字を出力に含めず、一部のテキストを読み取れませんでした。 という注記を表示します。同じPDFをほかのアプリでコピーしても、たいていは文字化けします。
図形になった文字、コピー禁止のPDF
ロゴや見出しの文字がアウトライン化(図形に変換)されている場合、見た目は文字でもデータとしては線と面です。そうした要素しかないページは、「図形か、図形に変換された文字しかない」ページとして案内されます。
また、作成者がテキストのコピーや抽出を禁止しているPDFでは、このPDFはテキストのコピーを許可していません と表示され、文字は表示も保存もされません。この設定を回避する機能はなく、ファイルが変更されることもありません。
原因を確かめる手順
- 画面上部の注記で、文字のないページがどれか(例:「3〜5ページ」)を確認します。
- 各ページの説明を読み、画像なのか、図形だけなのか、白紙なのかを見分けます。
- 元のPDFと見比べながら、必要な部分だけを手直しします。