PDF を 40 ページまでスムーズにスクロールし、41 ページに到達すると、ビューアがフリーズしたり、クラッシュしたり、乱れたグラフィック アーティファクトが表示されたりするのが見られます。文書の残りの部分は問題ありません。 41ページが問題です。その特定のページ上の何かが PDF ビューアのレンダリング エンジンを破壊しており、その何かが何であるかを特定することで、ファイルを修復できるか再作成する必要があるかが決まります。
単一ページのクラッシュは、ほとんどの場合、そのページのコンテンツに関する特定可能な特定の問題です。
ページ固有のクラッシュを診断するには、正しく表示されるページと比較して、問題のあるページの何が違うのかを特定する必要があります。 WukongPDF の Repair PDF および Fix PDF 機能は、一部のページ レベルの破損を解決できます。また、以下の診断手順は、問題のある要素を見つけて修正方法を決定するのに役立ちます。

単一ページ PDF クラッシュの一般的な原因
最も一般的な原因は画像の破損です。ページに埋め込まれた写真またはグラフィックには、ビューアのデコーダが処理できない破損した画像データがあります。ビューアが画像をレンダリングしようとすると、デコーダが破損に遭遇し、レンダリング エンジンがビューアをクラッシュさせるエラーをスローするか、ビューアをフリーズさせる無限ループに入るかのいずれかになります。破損は、元の画像ファイル内にあるか、PDF 作成プロセス中に発生した可能性があります。
2 番目に多い原因は、過度に複雑なベクター グラフィックスです。すべてのレイヤー、すべての線、すべての寸法の注釈がそのままの状態で CAD 図面を PDF にエクスポートすると、数十万の個別のベクター オブジェクトを含むページが生成されます。ビューアのレンダリング エンジンには 1 ページで処理できるオブジェクトの数に制限があり、その制限を超えるとクラッシュが発生します。レイヤーを簡素化し、不要なディテールを削除してエクスポートした同じ CAD ファイルは、問題なくレンダリングされます。
グリフ データが破損した埋め込みフォントにより、特定のグリフが表示されるページでクラッシュが発生します。文字の 90% は正しく表示されるが、文字 Q のデータに破損したバイトがあるフォントは、文字 Q を含むページでのみビューアをクラッシュさせます。根本原因はフォントの破損であっても、クラッシュはページ固有であるように見えます。単一ページ上の JavaScript またはフォーム フィールド スクリプトが破損していると、ページが読み込まれてスクリプトが実行されるときにビューアがフリーズする可能性があります。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
ページ上の問題のある要素の分離
別のビューアで PDF を開きます。ページ 41 で Adobe Acrobat がクラッシュするが、ブラウザベースのビューアでは正常に表示される場合、問題はページ コンテンツ自体ではなく、Acrobat が特定の要素を処理する方法にあります。ページ 41 ですべてのビューアがクラッシュする場合、問題はページのコンテンツにあります。クロスビューア テストにより、ビューアのバグとファイルの破損が区別され、間違った修正を追求する時間を節約できます。
Adobe Acrobat では、コンテンツパネルまたは PDF 編集ツールを使用して、ページ上の個々の要素を表示します。オブジェクトを一度に 1 つずつ削除し、削除するたびにページをレンダリングします。クラッシュが停止すると、最後に削除されたオブジェクトが問題になっていました。このバイナリ検索アプローチでは、オブジェクトの半分を削除してテストし、数百のオブジェクトを含むページを数分で問題のある要素に絞り込みます。ブラウザベースのツールの場合、inspect 要素またはコンソールを使用して、ロードに失敗したリソースを特定するエラー メッセージを表示します。
コンテンツを失わずにページを修復する
問題のあるページを高解像度画像として抽出し、PDF に再挿入します。これにより、すべてのページ コンテンツ、ベクター グラフィックス、テキスト、画像、フォントが、クラッシュの原因となった破損した要素を含まない単一のラスター イメージに変換されます。ページは通常のズームでは同じように見えますが、検索可能なテキストと編集機能が失われます。ドキュメントの残りの部分は変更されていません。
ページのコンテンツが重要で編集可能な状態にしておく必要がある場合は、ページを別の PDF に抽出し、問題のある要素を分析して削除する PDF オプティマイザーを通して実行します。破損したコンテンツを削除するための修正プロファイルまたは同様のプロファイルを備えた Acrobat のプリフライト ツールは、残りの部分を保持しながら、問題のある特定のタイプの要素を削除できます。オプティマイザーのアプローチは画像変換よりも遅くなりますが、元のページの機能をより多く保持します。
| クラッシュ原因 | 診断の手がかり | 修正 |
|---|---|---|
| 破損した埋め込み画像 | 画像が画面に読み込まれるときにクラッシュが発生する | 画像をクリーンなバージョンに置き換えるか、ページをラスタライズします |
| 過度のベクトルの複雑さ | クラッシュする前にビューアが徐々に遅くなる | ベクター データを簡素化し、レイヤーを平坦化し、オブジェクト数を削減します。 |
| 破損したフォントグリフ | 特定の文字を含むページでのみクラッシュする | 破損したフォントを置換または再埋め込む |
| 破損した相互参照テーブル | ビューアはクラッシュ前に構造エラーを報告します | ファイル構造を再構築するために最適化された PDF として保存 |
| 不正な形式の JavaScript またはフォーム スクリプト | ページの読み込み時にすぐにクラッシュが発生する | ページからスクリプトを削除し、必要に応じて再度追加します |
ドキュメントのページレベルの破損のバッチチェック
ドキュメント ライブラリを管理する場合、何千ものファイルの中の 1 つのファイルに隠された 1 つの破損したページは、期限までに誰かがその特定のファイルを必要とするまで検出されないことがあります。自動バッチ チェック ツールは、ディレクトリ内のすべての PDF を開き、すべてのページをレンダリングし、レンダリングが失敗したファイルにフラグを付けることができます。バッチ チェックは夜間または使用量が少ない時間帯に実行され、問題のあるファイルと失敗した特定のページのレポートが生成されます。
重要なドキュメント リポジトリの四半期ごとのバッチ チェックを実装すると、ドキュメントが緊急に必要になる前に破損が検出されます。 6 か月前にストレージエラーが原因で破損したページは、抽出とラスタライズによって修復できる可能性があります。 2 年後に発見された同じ破損は、PDF の作成に使用されたソース データがもう入手できないため、回復できない可能性があります。早期の検出では、遅い検出では排除される修復オプションが保持されます。
将来のバージョンでクラッシュが再発しないようにする
クラッシュを修復した後、そもそも問題のページが作成された原因を調査します。 PDF が破損を引き起こした特定のアプリケーションからエクスポートされた場合は、アプリケーションを更新するか、そのエクスポート設定を変更します。 PDF が複数のソース ファイルを結合して作成された場合、ソース ファイルの 1 つが破損している可能性があります。マージ プロセスによって問題が発生したと考える前に、各ソース ファイルの個々のページで同じクラッシュ パターンがないか確認してください。
定期的に更新される PDF の場合は、配布前に各ページが正しくレンダリングされることを検証するプリフライト チェックを作成します。更新するたびに、すべてのページをサムネイル ビューで開きます。クラッシュが発生した場合、そのクラッシュは複数のリビジョンにわたって蓄積されたものではなく、最新の変更によってもたらされたことがわかります。レンダリングのバグが早期に発見されるほど、根本原因を見つけるためにロールバックする必要のある変更が少なくなります。
PDF を最初から再構築する場合
複数のクラッシュ ページがある PDF、または上記のすべての修復方法に耐えられないクラッシュは、通常、デバッグを続行するよりも再構築する方が高速です。ソース アプリケーションから新しい PDF をエクスポートします。ソース アプリケーションが利用できない場合は、元の PDF プリンタ ドライバとは異なる PDF プリンタ ドライバを使用して、ドキュメントを新しい PDF に印刷します。プリンタ ドライバが異なれば複雑なコンテンツの処理方法も異なり、破損を引き起こしたドライバが同じコンテンツに対して再び破損を起こす可能性はほとんどありませんが、ドライバを切り替えることでその変動はなくなります。
一部の PDF は破損が蓄積し、修復の費用対効果がもはやない状態に達していることを受け入れてください。ソース資料から 30 分で再作成できる文書の 4 回目の修復に費やす時間は時間の無駄です。収益逓減点を認識し、修復モードから再構築モードに切り替えます。再構築された PDF は、破損したオリジナルの修復バージョンよりもクリーンで小さく、信頼性が高くなります。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
