Как вылечить битый ПДФ?

  • Автор темы Автор темы Maxbor
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Maxbor

Топикстартер
15 лет на форуме
Сообщения
215
Реакции
82
Имеется многостраничный ПДФ "слегка недокачанный" по сети. То есть недостает каких-то 20 килобайт в конце 3-х мегабайтного файла. Существует ли способ спасти что-то уцелевшее, то есть ту часть страниц, которая входит в имеющуюся часть данных?
 
Ответ: Как вылечить битый ПДФ?

вообще говоря файл пдф читается с конца, -- там записаны trailer и cross reference table. Однако если файл пересохранялся после создания (мало вероятно если выложен в сети, хотя я встречал и такое), то можно попробовать найти _последнее_ вхождение маркера %%EOF, аккуратно в хекс-редакторе отрезать все что после него и получить предыдущую версию файла (иногда бывало к немалому удивлению тех кто файл прислал:)

если не получится, то теоретически можно попробовать вытащить инфу (если файл был сохранен как liniarized (optimized for fast web view)), пройти по цепочке c.r.t., попытаться написать новый завершающий трейлер... но гораздо проще загрузить файл по новой
 
Ответ: Как вылечить битый ПДФ?

Как-то у одного клиента на компе я делал ему PDF из Ворда через PDFWriter.
Не вспомню, какая и чья были версии. Вот винда вроде бы 2000 — это смогу уточнить. Акробат в то время должен был быть 5.
В момент создания PDF вырубился комп.
После загрузки к моему удивлению я обнаружил PDF, сгенеренный не полностью — не хватало нескольких страниц.
При этом всё, что было до страницы "х", читалось и выглядело хорошо.
Странно, вроде бы и файл не закрыт получился, ан нет — живой, хоть и не полностью...
Как такое может быть? :confuse:

З.Ы. Похоже, что не совсем по теме... извиняйте.
 
Ответ: Как вылечить битый ПДФ?

PDFWriter может сохранять файл инкрементами, см. что я говорил выше...

с другой стороны интересно, если в браузер (в тот же акробат, на самом деле) загружается пдф файл, то при optimized for fast web view страница показывается, хотя еще продолжает грузиться следующая, не говоря о конце файла. Т.е. акробат как-то понимает, загружается ли файл по интернет или читается с локального диска? Вдруг кто-то знает?
 
Статус
Закрыто для дальнейших ответов.