Как исправить/восстановить поврежденный PDF-файл?

Как исправить/восстановить поврежденный PDF-файл?

У меня была книга (PDF) в Apple Books из локальных файлов на iPad. У меня были заметки за 2 месяца в PDF.

Сегодня я не смог его открыть и получил ошибку:

«Невозможно открыть документ. Невозможно открыть '' »

Итак, я Air Dropped файл на Mac, попытался открыть его в 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 и перезагружать его, но ничего не помогает.

Файл примерно 150 МБ. Что я могу сделать, чтобы восстановить его?

решение1

Я был мальчиком и мужчиной, работающим с компьютерными данными в течение 59 1/2 лет, и последние 40 лет решал проблемы с потерей данных на разных уровнях: от хитрых переключателей и реле, порванной бумажной ленты и изъеденных молью карт, растянутых лент и кабелей, погнутых или потрескавшихся дисков и шелушащихся чипов. Некоторые удивительные истории я не могу рассказать, иначе вы усомнитесь в моем здравомыслии или в здравом уме людей, которые меня наняли, или тех, кто заразил их данные.

Поэтому первый совет — выявить причину, даже если это банальное «Вы выключили свет?»

Следующий шаг — оценить вероятность восстановления по сравнению с затратами на повторную операцию.

Итак, это была интересная задача, и ответы на нее не очень хороши.

Если вы считаете, что есть вероятность, что устройство редактирования имеет скрытую удаленную копию, а стоимость замены исключительно высока. Тогда, возможно, стоит заплатить за то, чтобы выключенное устройство было криминалистически подключено к диагностической системе, где диск может быть зеркалирован и просканирован на предмет удаленных %PDF-заголовков.

Современные диски, как правило, либо не позволяют сделать это (твердотельные), либо не делают это так просто, как раньше, поскольку они быстро повторно используют освобожденное пространство для хранения большого кэша памяти, тем самым перезаписывая потерянные данные.

Теперь перейдем к центру сохраненного файла «Сомнительно».

Он сохранил большую часть желаемых данных. ОДНАКО по сравнению с неотредактированным исходным файлом мы можем сказать, что потеря была весьма значительной.

Исходный PDF-файл уже дважды редактировался (одна новая обложка и одна небольшая доработка), поэтому в нем остались странности (что не является чем-то необычным, но их следует избегать) из-за внесения различных правок.

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

Если я реструктурирую этот исходный файл, то рабочее число оптимизируется как объекты /Size 37546. Это указывает на то, что была некоторая избыточность, но, опять же, не необычная.

Добавления за 2 месяца должны были быть более чем по несколько в день и увеличивать количество до 40 000 или более. Однако сообщается, что это был /Size 70957. Подтверждая, что в какой-то момент файл должен был быть чрезмерно большим. поэтому дополнительные около 32 000 элементов должны быть все в сохраненном файле, но он сравнительно меньше, чем требуется.

В качестве теста (для сравнения) я восстановил только одну страницу аннотаций (не зная, какой номер страницы она охватывала). Это может быть нетипично, но составляет около 120 КБ на одну страницу.

Здесь это может не иметь смысла, поскольку вы не можете видеть компоненты вне контекста, но это последняя страница изменений (см. дату), предположительно на правой странице.

введите описание изображения здесь

Мы можем поместить его поверх новой титульной страницы (которая все еще не является правильной неизвестной удаленной страницей)

введите описание изображения здесь

Подводя итог, я интуитивно чувствую, что низкая стоимость восстановления и небольшое количество сохраненных объектов (количество /Annots = приблизительно 57 (страниц?)), говорят о том, что восстановление обходится дороже, чем работа по «повторному выполнению». Интересно, что есть хорошая группа с 67961 по 70957, поэтому их можно восстановить.

Лучшее приложение для восстановления, которое я нашелhttps://superuser.com/a/1808687/1769247. Демонстрирует только объекты с номинального номера страницы 180 и выше до 240 из общего числа 849 и фактически воспроизводит более чем в два раза больше дополнительных страниц изображений, поскольку в изобразительном плане некоторые из них будут негативами мягкой маскировки, поэтому 850-1845 - это фрагменты, которые могут быть дубликатами суб-изображений 180-240 или могут быть фрагментами других ?.

Вот ссылка на 30-дневную версию оставшихся отремонтированных деталейhttps://filetransfer.io/data-package/nbXvfSBp#link

введите описание изображения здесь

Рекомендации для дальнейшего развития

  1. Разделите основной файл на 4 удобные части. Это дает тройное преимущество.

    • Каждая часть будет быстрее обрабатываться и реагировать на сложные аннотации.
    • Исправьте все проблемы с фундаментом в исходном файле.
    • Сократить будущие катастрофические потери до 25% за раз.
  2. Пересмотрите способность программного обеспечения для аннотирования работать с огромными объемами требуемой памяти и потенциальные потери из-за «отключения» питания, когда любой временный сбой может уничтожить открытый файл редактирования.

  3. Работайте на надежной локальной дисковой системе, например на рабочей станции, и никогда не используйте синхронизированный облачный диск.

  4. Не используйте восстановленный файл сам по себе, просто используйте его как предупреждение для повторной задачи. Может включать вырезание и вставку объектов в редакторе PDF GUI, что должно исключить любой перенос других ошибок.

Конкретная возможность случая.
Вы можете обнаружить, что номера страниц не синхронизированы, но имеют правильный порядок или, если повезет, идеальный порядок для переноса в главный файл. Если это так, то есть инструменты командной строки, которые «могут» ускорить перенос, экспортируя /Annots из файла восстановления, например JSON, а затем разрешая импорт в соответствующим образом оптимизированный главный файл по номерам страниц. Одним из таких инструментов может быть coherent cpdf, поскольку он имеет инструмент оптимизатора и /Annots export import. но я не могу сказать, решит ли он эту проблему достаточно хорошо.

Связанный контент