PDF ファイルの保存中に、停電、アプリケーションのクラッシュ、またはネットワーク接続の切断が発生しました。その後ファイルを開こうとすると、PDF リーダーに次のエラー メッセージが表示されます。「予期しないファイルの終わりです」、「ファイルが破損しているため修復できません」、または単に空白のウィンドウが表示されます。保存を中断する前はファイルに問題はありませんでした。現在、回復不可能なほど破損しているようです。幸いなことに、エラー メッセージは問題を正確に説明しています。ファイルには、終了構造、特に PDF リーダーにファイル内のオブジェクトの検索方法を伝える相互参照テーブルとトレーラーがありません。コンテンツ オブジェクトはまだファイル内にあります。読者に現在地を示す地図がなければ、それらに到達することはできません。

PDF 保存操作の仕組みと中断時に失われるもの
PDF ファイルは、ファイルを PDF として識別するヘッダー、ページ、画像、フォント、その他すべてのコンテンツを表す番号付きオブジェクトを含む本文、オブジェクト番号をファイル内のバイト オフセットにマップする相互参照テーブル、相互参照テーブルの場所とどのオブジェクトがドキュメント ルートであるかを読者に伝えるトレーラーの 4 つの主要なセクションで構成されます。 PDF を保存するときは、4 つのセクションすべてを正しい順序でディスクに書き込む必要があります。保存中の中断は、相互参照テーブルまたはトレーラー、またはその両方が書き込まれる前に書き込み操作が停止したことを意味します。
body セクションのコンテンツ オブジェクトは、それを参照する構造要素よりも前に書き込まれているため、中断された保存の後でもほとんどの場合そのまま残ります。ページ、テキスト、画像、フォントはディスクに正常に書き込まれました。失われたのは、これらのオブジェクトを見つけて一貫した文書に組み立てる方法を読者に伝える索引です。相互参照テーブルがないと、リーダーはファイルを開いてヘッダーを読み取り、トレーラーで指定された場所で相互参照テーブルを探しますが、そこには何も見つからないか、部分的なテーブルまたは破損したテーブルが見つかります。予想される構造要素が始まる前にファイルが終了するため、リーダーは予期しないファイル終了エラーを報告します。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
PDF 修復ツールを使用して相互参照テーブルを再構築する
PDF 修復ツールは、破損したファイルの本体セクションをスキャンし、見つかったオブジェクトから相互参照テーブルを再構築することによって機能します。各 PDF オブジェクトは、「12 0 obj」などのオブジェクト番号と世代番号で始まり、「endobj」で終わります。修復ツールはファイルを順番に読み取り、開始マーカーと終了マーカーによってすべてのオブジェクトを識別し、そのバイト オフセットを記録し、各オブジェクト番号をその位置にマッピングする新しい相互参照テーブルを構築します。次に、どのオブジェクトがドキュメント ルートであるかを識別します。これは通常、オブジェクト番号 1 またはドキュメント カタログによって参照されるオブジェクトであり、再構築された相互参照テーブルを指す新しいトレーラーを書き込みます。
WukongPDF の Repair PDF ツールは、破損した PDF を処理し、回復可能なコンテンツからファイル構造の再構築を試みることができます。修復が成功するかどうかは、中断前に本体セクションがどの程度書き込まれていたかによって決まります。すべてのオブジェクトを書き込んだ後、相互参照テーブルを書き込む前に中断された保存は完全に回復可能です。大きな画像オブジェクトの書き込み中に保存が中断されると、そのオブジェクトが失われる可能性がありますが、ドキュメントの残りの部分は復元できます。修復ツールは、どのオブジェクトが正常に回復されたのか、どのオブジェクトが破損または紛失したのかを報告し、何が保存され、何が失われたのかを把握できます。
修復不可能な PDF からのコンテンツの手動回復
自動修復ツールが相互参照テーブルを再構築できない場合は、手動のコンテンツ回復が代替手段となります。バイナリ ファイルを処理できるテキスト エディタで破損した PDF を開くか、コマンド ライン ツールを使用してファイルから読み取り可能なテキストを抽出します。本文オブジェクトは、構造要素のプレーン テキストと画像とフォントのバイナリ データが混在して保存されます。ドキュメントのテキスト コンテンツは通常、本文オブジェクト内に ASCII または UTF-8 文字列として保存され、テキスト エディタで表示すると人間が判読できるようになります。文書内に出現することが分かっているテキストを検索します。ファイル構造が壊れている場合でも、周囲のコンテンツは読み取り可能な文字列として表示されます。
コンテンツが失われるには非常に貴重であり、破損したファイルが唯一のコピーである PDF の場合、PDF 修復を専門とする専門のデータ回復サービスは、ファイルの 16 進レベルの分析を使用してより詳細な回復を実行できます。これらのサービスは、標準マーカーが破損している場合でもオブジェクトの境界を識別し、部分的なオブジェクトを再構築し、場合によっては完全に読み取り不可能に見えるファイルからコンテンツを回復できます。コストはコンテンツの価値に比例し、かけがえのないドキュメントの場合、コストは正当化されることがよくあります。専門的な回復によるPDFのアプローチは、自動ツールや手動抽出が使い果たされた場合の最後の手段です。
PDF エラー メッセージを理解して破損の種類を診断する
PDF リーダーからのさまざまなエラー メッセージはさまざまな種類のファイル破損を示しており、メッセージを解釈する方法を知ることが修復アプローチの指針となります。予期しないファイルの終わりエラーは、ファイルの末尾に構造要素が欠落していることを示しており、最も修復可能なタイプの破損です。ファイルが破損しているため修復できないというメッセージは、通常、相互参照テーブルは破損しているが本体オブジェクトは損傷していないことを示します。ルート オブジェクトが見つからない、または無効であるというメッセージは、ドキュメント カタログが損傷していることを示しています。ルート オブジェクトはリーダーに他のすべての場所を伝えるため、修復が困難です。エラー メッセージと修復方法を照合すると、特定の種類の破損に最も適切な回復方法が示されるため、時間を節約できます。
保存の中断によるデータ損失の防止
中断された保存による破損に対する最善の防御策は、リスク ウィンドウを最小限に抑える保存ワークフローです。ほとんどの PDF エディターは、元のファイルをその場で変更するのではなく、新しいファイルを書き込む名前を付けて保存機能をサポートしています。新しいファイル名で保存を使用し、新しいファイルが正しく開くことを確認してから、元のファイルを新しいバージョンに置き換えることで、保存中の中断は新しいファイルにのみ影響し、元のファイルはそのまま残ります。このワークフローでは、保存プロセスに数秒かかりますが、重要なドキュメントの唯一のコピーが破損するリスクは排除されます。
頻繁に編集を行うドキュメントの場合は、PDF エディターの自動保存またはバックアップ機能が利用可能な場合は有効にします。自動保存は定期的に回復情報を書き込むため、メインの保存が中断された場合でも、自動保存データからドキュメントの最新バージョンを回復できます。主要な編集マイルストーンで手動バックアップを使用して自動保存を補完します。大規模な編集セッションの前に、ファイルのコピーを作成してください。やり直したくない複雑な編集を完了したら、コピーを保存します。これらの手動バックアップは、PDF の内部構造から独立した回復ポイントを提供します。 PDF 形式 は、ファイル構造が保存操作中に脆弱であることを理解することで、PDF 破損の最も一般的な原因から保護するワークフローの習慣につながります。
PDFを修復してみる
インストールは必要ありません。ブラウザで直接動作します。
