FreePDF logoFreePDF

PDF の文字がコピーできない・文字化けする原因と対処法

FreePDFチーム ·

PDF の一段落をなぞっても、まったく反転しない。反転はするのに「コピー」がグレーのまま押せない。貼り付けたら記号の羅列が出てきた。文字は正しいのに、一行ごとに改行が入っていて使いものにならない。どれも「PDF の文字がコピーできない」とひとくくりにされがちですが、原因はそれぞれ別で、直し方も違います。

まず、どのパターンかを見分ける

  • クリックするとページ全体が一枚の四角として選ばれる、または何も選べない。ページが画像になっています。たいていはスキャンです。
  • 文字は反転するが「コピー」が押せない、またはコピーが許可されていないと表示される。ファイルに権限の制限がかかっています。文書のプロパティの「セキュリティ」を見れば、たいてい書いてあります。
  • コピーはできるが、貼り付けると文字化けする。PDF 内部のフォント情報の問題です。
  • 文字は正しく貼れるが、改行や書式がぐちゃぐちゃ。

スキャンしたページの場合

スキャナーが作るのは紙の写真です。人の目には文字が読めても、ファイルが知っているのは画素だけなので、選択も検索もできません。OCR(文字認識)は画像から文字を読み取り、各ページの裏に見えないテキスト層を加えます。見た目はそのままで、選択、コピー、検索ができるようになります。

ここで一つはっきり書いておきます。当サイトの OCR は英語専用で、日本語のスキャンは読み取れません。精度が落ちるのではなく、日本語の部分はまったく認識されないということです。英語の資料なら、まっすぐでくっきりしたスキャンほど結果が良く、傾いたスマホ写真では落ちます。数字や人名はどちらにしても見直してください。

日本語の書類をテキストにしたいなら、自分のパソコンに ocrmypdf と Tesseract の日本語データを入れ、ocrmypdf -l jpn 入力.pdf 出力.pdf のように言語を指定して実行するのが確実です。縦書きの書類なら jpn_vert、英語が混ざるなら jpn+eng のように組み合わせます。

ファイルがコピーを禁止している場合

PDF のパスワードには二種類あります。一つはファイルを開くこと自体を止める「開くパスワード」。もう一つは「権限パスワード」で、誰でも開けますが、ビューアーに対してコピーや印刷、編集を止めるよう指示します。「コピー」がグレーになっているのは、後者のせいです。

自分の文書か、持ち主から文章の再利用を認められているなら、PDF パスワード解除にかけてください。開くときにパスワードを聞かれなかったファイルなら、パスワード欄は空欄のままで大丈夫です。権限の制限だけがかかったファイルはそれで解除でき、制限を外したコピーが戻ってきます。それでもパスワードを求められたら、送ってくれた人に制限のない版をもらってください。有料のレポートや試験問題にかかった制限は、たいてい意図があってのものです。

貼り付けると文字化けする場合

PDF の中の文字は、埋め込まれたフォントの字形を指す番号として保存されています。その番号を文字に戻すには、ファイル内の対応表が必要です。作成ソフトによってはこの表を入れなかったり独自の割り当てにしたりするので、画面にはきれいに表示されるのに、コピーすると番号がそのまま出てきます。情報がファイルに入っていないので、ビューアーを替えてもまず直りません。

日本語の PDF には、これとは少し違う厄介な症状もあります。コピーした「日」や「月」が、見た目はまったく同じなのに康熙部首という別の文字になっていて、検索や置換に引っかからない、というものです。これも対応表の作り方が原因です。テキストエディタや変換ツールで Unicode 正規化(NFKC)をかけると、通常の漢字に戻せることが多いです。

英語の PDF なら、OCR で回避できます。番号ではなく字形そのものを読むからです。ただし当サイトの OCR は、重複を避けるためにすでに文字のあるページを飛ばします。文字化けしたページも「文字あり」と数えられるので、先にページを純粋な画像にする必要があります。

  1. PDF PNG 変換で、解像度を「高(300 DPI)」にして画像にします。
  2. その PNG を、ページ順に並べて PNG PDF 変換で PDF に戻します。
  3. できたファイルを PDF OCR にかけます。

スキャンと同じ形の、正しいテキスト層を持った PDF ができあがります。元より重くなり、文字はベクターでなくなるので、読むときは元のファイル、コピーするときは OCR 版と使い分けてください。なお、この手順は日本語のページには効きません。OCR が日本語を読めない以上、画像にしても文字は戻ってこないからです。日本語なら、上に書いた ocrmypdf -l jpn を自分の環境で使ってください。

文字は正しいが、改行がおかしい場合

PDF は段落という単位を知りません。ページ上の位置に行を置いているだけなので、コピーすると行ごとに改行が付いてきます。何ページ分もこの調子で貼り付けると、あとの手直しが大変です。

PDF テキスト変換を使えば、全ページの文字を一つの .txt ファイルにまとめて取り出せます。ページの間には空行が入ります。改行は残りますが、手直しは一回で済みます。Word に貼り付けて「置換」を開き、「オプション」から「ワイルドカードを使用する」にチェックを入れて、日本語の文章なら ([!。^13])^13 を \1 に置き換えます。「。」で終わっていない行の改行だけが消えるので、本当の段落の終わりはおおむね残ります。英語の文章なら、([a-z,])^13 を「\1 と半角スペース」に置き換えるのが定番です。

よくある質問

ページに見えている言葉が検索で見つからないのはなぜですか?

原因はコピーできないときと同じです。スキャンなら検索する文字がそもそもなく、フォント情報が壊れたファイルなら、検索は別の番号で保存された文字を探していることになります。日本語で特定の漢字だけ見つからないなら、先ほどの康熙部首を疑ってください。英語のスキャンなら、OCR をかければ普通に検索できるようになります。

コピー制限を外しても問題ありませんか?

自分のファイルなら問題ありません。他人のファイルは、持ち主の許可がある場合だけです。許可をもらうなら、制限のない版を送ってもらうのがいちばん早いでしょう。当サイトのパスワード解除は、パスワードを推測したり破ったりはしません。すでに知っているパスワードで開けるだけです。

関連する無料ツール