PDF文字化け修復

コピーすると文字化けするテキストの対応表を修復

1ファイル選択2設定3処理4保存

PDFを選ぶと内容を解析して表示します。

ファイルはこのブラウザ内でのみ処理されます。サーバーにはアップロードされません。

コピーすると文字化けや□になるPDFのテキスト対応表を修復

別のツールで続ける
作業の設定
設定

設定は不要で、そのまま実行できます。ToUnicode対応表のないフォントを探して修復します。

暗号化されたPDFは先にパスワードを解除してください。ページの内容を中心に処理するため、しおり・添付・フォーム・署名の保持は保証されません。原本を保管し、結果をご確認ください。

PDF文字化け修復について

PDFの文字は「このフォントの12番の形をここに描く」という命令です。12番がどのUnicode文字かは、ToUnicodeという別の表が教えます。この表がないとビューアはフォントのエンコーディングから推測し、外れるとコピーした文字が化けたり検索できなかったりします。

このツールはToUnicodeのない単純フォントを探し、エンコーディングとグリフ名からコードごとの文字を割り出して新しい表を付けます。ページに描かれた字形は変わりません。

直せるフォント、直せないフォント

対象は1バイトコードの単純フォント(Type1・TrueTypeなど)のうちToUnicodeがないものです。/Encodingの基本表(WinAnsi・MacRoman・Standard)と/Differencesでコード→グリフ名を求め、グリフ名をUnicodeに変換します。変換表はAdobe Glyph Listの全体(約4,300の名前)です。英字と西欧文字のほか、ą・ę・łなどの中欧文字、ギリシャ文字(alphaなど)、afii10017形式の名前のキリル文字、ヘブライ文字・アラビア文字、引用符・ダッシュ・€・fi合字などの記号、uni00E9形式の名前を扱います。

  • 対象外:日本語・中国語・韓国語のPDFがほぼ必ず使う複合フォント(Type0/CID)。和文PDFの文字化けはこのツールでは直りません。
  • 対象外:Type3フォント、/Encodingを持たないシンボルフォント。
  • 対象外:すでにToUnicodeがあるフォント。中身が誤っていても上書きしません。
  • 一部のみ:g12、glyph34のような意味のない名前や、フォント制作者が独自に付けた名前は変換表になく、その文字だけ空欄のままです。

例

/Differencesで番号を振り直したサブセットフォント

入力
/Encoding << /BaseEncoding /WinAnsiEncoding /Differences [1 /C /a /f /eacute] >>、ToUnicodeなし
結果
1→C、2→a、3→f、4→é(U+00E9)のToUnicodeが付き、「Café」が正しくコピーされる

コード1〜4はWinAnsiでは制御文字の位置なので、グリフ名を読まないソフトはこの文字を捨てたり豆腐にしたりします。新しい表がコードと文字を直接結びます。

使い方

  1. PDFを選びます。設定項目はありません。
  2. 実行すると全フォントを調べ、ToUnicodeのない単純フォントに表を付けます。
  3. 修復・スキップしたフォント数を確認し、結果から文字をコピーして確かめます。

よくある質問

和文PDFのコピー文字化けは直りますか?

ほとんどの場合、直りません。和文PDFは複合(CID)フォントを使い、このツールはそれを対象外にしています。OCRでテキスト層を作り直すほうが現実的です。

処理しても一部の文字だけ化けます。

その文字のグリフ名が変換表にないか、意味のない名前だと考えられます。分かるコードだけを埋め、分からないコードは空けておきます。

もともと間違ったToUnicodeがあるファイルは?

既存の表には手を付けません。ファイル構造については「PDFファイルの中身」ガイドを参照してください。

どのフォントにToUnicodeがないか事前に分かりますか?

PDF情報ツールのフォント一覧で種類や埋め込みの有無を確認できます。このツールを実行すると、修復したフォントとスキップしたフォントの数が別々に表示されます。

スクリーンリーダーにも効果がありますか?

スクリーンリーダーやアクセシビリティ検査ツールは、文字を読むときにToUnicodeを使います。表がないと読み飛ばしや誤読が起きるため、欧文の文書なら表を補うだけで読み上げが改善することがあります。

出典

基準日:

プライバシーとデータの扱い