破損した PDF を修正/修復するにはどうすればよいですか?

破損した PDF を修正/修復するにはどうすればよいですか?

iPad のローカル ファイルから Apple Books に本 (PDF) を保存しました。PDF には 2 か月分のメモが保存されていました。

今日は開けず、エラーが発生しました:

「ドキュメントを開けません。'' を開けません」

そこで、ファイルを Mac に Air Drop し、Preview、Adobe、Acrobat で開こうとしました。どのファイルでも開けませんでした。ファイルが破損または損傷している可能性があります。

Ghostscript ( ) を使用して修復しようとしましたgsが、うまくいきませんでした。

gs \
 -o repaired.pdf \
 -sDEVICE=pdfwrite \
 -dPDFSETTINGS=/prepress \
  corrupted.pdf

代わりにエラーが発生します:

Catalog dictionary not located in file, unable to proceed


**** Error: Couldn't initialise file.
               Output may be incorrect.



No pages will be processed (FirstPage > LastPage).

The following errors were encountered at least once while processing this file:
    startxref offset invalid
    xref table was repaired

   **** This file had errors that were repaired or ignored.
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

iPad をアップデートして再起動してみましたが、問題は解決しないようです。

ファイルは約 150MB です。復元するにはどうすればいいでしょうか?

答え1

私は 59 年半、コンピュータ データを扱う少年と青年として過ごし、過去 40 年間は、スイッチやリレーの不具合、破れた紙テープや虫食いのカード、伸びたテープやケーブル、曲がったりひび割れたディスク、剥がれたチップなど、さまざまなレベルでデータ損失の問題を解決してきました。驚くべき話がいくつかありますが、それを話すと、私の正気や、私を雇った人々、または彼らのデータを感染させた人々の正気を疑うでしょう。

したがって、最初のアドバイスは、たとえそれが「壁のスイッチを切りましたか?」という陳腐な質問であっても、原因を突き止めることです。

次のステップは、回復の可能性と再度実行する場合のコストとを比較評価することです。

これは興味深い挑戦でしたが、答えは良くありませんでした。

編集デバイスに削除されたコピーが隠されている可能性があり、交換コストが非常に高いと思われる場合は、電源を切ったデバイスを診断システムにフォレンジック接続して、ディスクをミラーリングし、削除された%PDF-ヘッダーをスキャンする費用を支払う価値があるかもしれません。

最近のディスクでは、解放されたスペースを大容量のメモリ ストレージ キャッシュに急速に再利用することで、失われたデータを上書きし、それを可能にする (ソリッド ステート) ことも、以前ほど簡単にすることもできなくなっています。

次は、「疑わしい」保存ファイルのハブです。

必要なデータの多くは保持されています。ただし、編集されていないソース ファイルと比較すると、損失は非常に大きいと言えます。

ソース PDF はすでに 2 回編集されていました (新しいカバーが 1 つと、小さな調整が 1 つ)。そのため、異なる編集を追加したことによる奇妙な点 (珍しいことではありませんが、避けるべき点) が残っていました。

core /Size 39679 objects  
edit /Size 39692  
edit /Size 39694  

そのソース ファイルを再構築すると、作業カウントは /Size 37546 オブジェクトとして最適化されます。冗長性があったことを示していますが、これも異常ではありません。

2 か月間にわたる追加により、1 日に数回以上、カウントが 40,000 以上に増加しているはずです。ただし、/Size 70957 と報告されています。確認すると、ファイルが大きすぎるはずです。したがって、追加の約 32,000 項目はすべて保持ファイルに含まれている必要がありますが、必要な量よりも比較的小さくなっています。

テストとして (比較のため)、注釈の 1 ページだけを復元しました (どのページをカバーしているかはわかりませんでした)。これは一般的ではないかもしれませんが、1 ページあたり約 120 KB になります。

ここでは文脈から外れてコンポーネントを見ることができないため意味をなさないかもしれませんが、これはおそらく右側のページにある変更の最後のページです (日付を参照)。

ここに画像の説明を入力してください

新しい表紙の上に配置できます(まだ正しい不明な削除されたページではありません)

ここに画像の説明を入力してください

要約すると、私の直感では、回復コストが遅く、保持されているオブジェクトの数が少ない (/Annots の数 = 約 57 (ページ?)) ことから、回復は「やり直す」労力よりもコストがかかると考えられます。興味深いことに、67961 から 70957 までの良いグループがあるので、それらは回復可能であるはずです。

私が見つけた最高の回復アプリケーションhttps://superuser.com/a/1808687/1769247合計 849 ページのうち、名目ページ番号 180 から 240 までのオブジェクトのみを表示し、実際には 2 倍以上の追加画像ページを再現しています。画像的には一部がソフト マスキングのネガとなるため、850 ~ 1845 は 180 ~ 240 のサブ画像複製であるか、または他の部分である可能性があります。

残りの修理部品への30日間のリンクはこちらhttps://filetransfer.io/data-package/nbXvfSBp#リンク

ここに画像の説明を入力してください

今後の推奨事項

  1. マスター ファイルを 4 つの便利な部分に分割すると、3 つの利点があります。

    • 各パーツのレンダリングが高速化され、大量の注釈にも対応できるようになります。
    • ソース ファイル内の基礎の問題を修正します。
    • 将来の壊滅的な損失を一度に 25% のみに削減します。
  2. 大量のメモリを必要とする注釈ソフトウェアの能力と、一時的な不具合によって開いている編集ファイルが破壊される可能性がある「電圧低下」による損失の可能性を再検討してください。

  3. 同期されたクラウド ドライブではなく、ワークステーションなどの信頼性の高いローカル ディスク システムで作業してください。

  4. 修復されたファイル自体は使用せず、単に繰り返しのタスクの通知として使用してください。PDF GUI エディターに切り取りと貼り付けのオブジェクトを含めることができます。これにより、他の障害が持ち越されることが回避されます。

ケース固有の可能性。
ページ番号が同期していないが順序は正しい、または運が良ければマスター ファイルに転送するのに最適な順序であることがわかるかもしれません。その場合、JSON などのリカバリ ファイルからエクスポート /Annots によって転送を高速化し、ページ番号によって適切に最適化されたマスター ファイルにインポートできるようにするコマンド ライン ツールがあります。そのようなツールの 1 つは、最適化ツールと /Annots エクスポート インポートを備えた coherent cpdf です。ただし、この問題に十分に対応できるかどうかはわかりません。

関連情報