昨日は完全に読み取れた PDF を開いたとします。現在では、すべてのページにテキストの代わりにランダムな記号が表示されます。文字は、四角いボックス、疑問符、プラス記号、または「%$#@!」などのまったく無関係な文字の文字列に置き換えられています。文章があるべき場所。ドキュメントの構造はそのままです。ページはそこにあります。画像はきれいです。しかし、どのページのどの単語も意味不明なものになってしまいました。
これはフォント エンコーディングの失敗であり、ファイルが回復不能に破損しているように見えるため、PDF の最も憂慮すべき問題の 1 つです。ほとんどの場合、内容はそのままです。 PDF は、ビューアが正しい文字形状にマッピングできない文字コードを使用しています。通常、修正には、フォント エンコーディングの修復、不足しているフォントのインストール、またはエンコーディングを正しく解決するエンジンによる PDF の再レンダリングが含まれます。

PDF 内の意味不明なテキストの最も一般的な 3 つの原因
原因 1: フォールバックが埋め込まれていないフォントが見つからない。 PDF はファイルに埋め込まれていないフォントを使用して作成されており、システムにはそのフォントがインストールされていません。 PDF ビューアは別のフォントを置き換えようとしますが、代替フォントでは別の文字エンコーディングが使用されます。 「A」を意味する文字コード元のフォントの は、代替フォントでは別の意味になります。ビューアは代替文字を忠実にレンダリングするため、ページ上のすべての文字が異なる記号に置き換えられます。
原因 2: PDF 内のフォント データが破損している。フォントは埋め込まれていますが、埋め込まれたフォントデータが壊れています。これは、PDF が部分的にダウンロードされた場合、バイナリ データを変更する電子メール システム経由で転送された場合、または障害のあるストレージ デバイスに保存された場合に発生する可能性があります。フォント データは存在しますが、レンダリング エンジンが文字コードを誤って解釈する原因となるエラーが含まれています。テキストはランダムに見えますが、実際には破損した入力の決定的な結果です。ファイルを開くたびに、同じテキストが同じ意味不明なものとして表示されます。これは、一時的なレンダリング エラーではなく、保存されているフォント データが破損しているためです。
原因 3: PDF で指定された文字エンコーディングが正しくありません。 PDF には、文字コードをグリフにマッピングする方法を表示者に指示する /Encoding エントリが含まれていますが、指定されたエンコーディングはテキストが実際に書かれた方法と一致しません。これは、あるエンコーディングを使用してテキストを書き込み、ファイルのメタデータで別のエンコーディングを宣言した、古いソフトウェアまたは非標準のソフトウェアで作成された PDF で最もよく発生します。ビューアは宣言されたエンコーディングを適用し、意味不明な内容を生成します。作成者が使用した実際のエンコーディングを代わりに適用すると、テキストは正しく表示されます。宣言されたエンコーディングと実際のエンコーディング間のこの不一致は、テキスト データが損なわれていないため、3 つの原因の中で最も修正可能です。マッピングの指示だけが間違っています。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
PDF にどの問題があるかを診断する方法
簡単なテストで原因を絞り込みます。まず、別のビューアで PDF を開きます。 Adobe Acrobat では正しく表示されるが、ブラウザでは意味不明な表示になる場合は、ファイルではなくブラウザの PDF レンダラーに問題があります。不足しているフォントをインストールするか、別のビューアを使用してください。 PDF がどのビューアでも意味不明な内容を表示する場合、問題はファイル自体にあります。
次に、ドキュメントのプロパティで PDF フォント リストを確認します。 Acrobat で、「ファイル」、「プロパティ」、「フォント」に移動します。フォント リストに非埋め込みとしてマークされたフォントが表示され、それらのフォントがシステムにインストールされていない場合は、フォントが見つからないという問題が発生しています。フォントをインストールするか、それがインストールされているシステムでファイルを開きます。フォント リストに埋め込みフォントが表示されていてもテキストが意味不明な場合は、埋め込みフォント データが破損している可能性があります。
3 番目に、意味不明なテキストを選択してコピーしてみます。それをテキストエディタに貼り付けます。貼り付けたテキストが元の正しいテキストである場合、文字は PDF に正しく保存されますが、表示マッピングは壊れています。これは、エンコード宣言の不一致を示します。テキストデータも充実してます。ビューアが間違って表示しているだけです。貼り付けたテキストも意味不明な場合は、文字データ自体が破損しているため、より深刻な問題になります。
ランダムなシンボルが表示される PDF を修正する方法
フォントが見つからない場合は、システムに必要なフォントをインストールします。フォント名はドキュメントのプロパティにリストされます。多くのフォントは無料でダウンロードでき、商用フォントを購入してインストールすることもできます。フォントがインストールされたら、PDF を再度開きます。テキストは正しく表示されるはずです。フォントのインストールが現実的でない場合は、ブラウザ ビューアではなく Adobe Acrobat など、より適切なフォント置換機能を備えたビューアで PDF を開くか、WukongPDF を使用してフォントが埋め込まれた PDF を再レンダリングします。再レンダリング プロセスでは、すべてのフォント参照が解決され、実際の文字の形状が埋め込まれ、どのシステムでも正しく表示される自己完結型の PDF が生成されます。
破損した埋め込みフォントの場合、フォント データを修復または置換することで修正できます。 WukongPDF の PDF Repair ツールは、破損したフォント ストリームを検出し、残っているデータからフォント ストリームの再構築を試みることができます。フォントが部分的に回復可能な場合、ツールは無傷の部分を抽出し、動作するフォントのサブセットを再構築します。これは常に成功するとは限りません。破損が広範囲にわたる場合、テキストは部分的または完全に回復できない可能性があり、唯一の手段は元のソース文書を見つけて PDF を再作成することです。
エンコードの不一致の場合、どのような場合でも最も信頼性の高い修正は、PDF を新しい PDF に印刷することです。特定のコンピュータ上の 1 つのビューアだけがファイルを適切に表示する場合でも、ファイルを正しく表示するビューアでファイルを開き、PDF へ印刷機能を使用して新しいファイルを作成します。印刷プロセスでは、システムの現在のフォント レンダリングを使用してすべての文字が再レンダリングされ、正しい文字形状が埋め込みフォント データとして新しい PDF に効果的に焼き付けられます。新しい PDF ではフォントが埋め込まれた標準エンコーディングが使用されるため、エンコーディングの不一致は解決されます。この修正により、テキストの外観は維持されますが、基礎となる文字エンコーディングが失われる可能性があります。これは、後でテキストを検索または抽出する必要がある場合に重要になります。検索可能性が重要なドキュメントの場合は、テキスト レイヤーを維持しながらエンコードを修復する専用のFix PDF ツールを使用します。
作成する PDF のフォント エンコーディングの問題を防ぐ
PDF を作成するときは、必ずフォントを埋め込んでください。この 1 つの設定により、意味不明なテキストの問題の大部分が防止されます。 PDF、Word、InDesign、Illustrator、PowerPoint にエクスポートするすべてのアプリケーションには、フォントを埋め込むオプションがあります。見つけてください。有効にしてください。生成される PDF は少し大きくなり、通常はフォントごとに 50 KB ~ 200 KB になりますが、現在および将来、すべてのシステムのすべてのビューアで正しく表示されます。
標準のエンコーディングを使用します。特別な理由があり、その影響を理解している場合を除き、カスタム文字エンコーディングは避けてください。 PDF 標準エンコーディングであるラテン文字用の WinAnsiEncoding と Unicode 用の Identity-H は、すべての PDF ビューアで理解されます。カスタム エンコーディングは、それを作成したソフトウェアによってのみ理解される場合があります。埋め込みフォントを使用した標準エンコーディングは、PDF テキストにとって最も移植性が高く信頼性の高い組み合わせであり、すべてのプラットフォームで長期間にわたって読み取り可能な状態を保ちます。
メインフレーム レポート ジェネレーター、従来の会計システム、科学機器出力モジュールなどの古いアプリケーションまたは特殊なアプリケーションで作成された PDF 内で意味不明のテキストが発生した場合は、フォントの欠落ではなく、PDF の文字マッピング テーブルにエンコードの問題がある可能性があります。これらのシステムでは、文字コードを Unicode 値ではなくフォント内のグリフ位置にマッピングするカスタム Symbol エンコーディングを使用してテキストが保存された PDF が生成されることがあります。最新のビューアがテキストを Unicode として抽出しようとすると、マッピングは失敗し、意味不明な結果が得られます。これらのファイルを修正するには、非標準のエンコーディングを検出して標準の Unicode マッピングに置き換えるか、テキストを生の文字コードとして抽出してフォント データからエンコーディングを再構築できる PDF 修復ツールを使用します。これは、汎用 PDF ツールで処理できる範囲を超えた特殊な修復操作であり、通常、レガシー エンコード修復を明示的にサポートするツールが必要です。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
