PDF, который не открывается, ощущается как полная потеря, но обычно ею не является. В подавляющем большинстве случаев содержимое страниц по-прежнему находится в файле, целое и читаемое, — сломалась лишь та небольшая часть внутреннего учёта, которая сообщает программе просмотра, где начинается каждая страница. Восстановить файл — значит перестроить этот учёт, а не воссоздать документ.
Это руководство объясняет, что ломается в действительности, как отличить восстановимый файл от по-настоящему уничтоженного и как восстановить PDF в браузере, ничего не устанавливая.
Что на самом деле ломается в повреждённом PDF
PDF — не сплошной поток текста, каким бывает обычный файл. Это набор пронумерованных объектов — шрифтов, изображений, описаний страниц, метаданных, — за которым в самом конце файла следует таблица поиска, называемая таблицей перекрёстных ссылок, или xref. Xref хранит точное байтовое смещение каждого объекта. Открывая PDF, программа переходит в конец, читает xref и по ней находит первую страницу.
Такая конструкция быстра, но у неё есть конкретная слабость: указатель расположен в конце и ссылается назад. Если что-то сдвинет положение объектов или если хвост файла так и не дойдёт, все смещения в xref разом становятся неверными. Программа ищет первую страницу по байту 48 213, находит там нечто, не являющееся страницей, и сдаётся. При этом сама страница нисколько не пострадала.
- Сломанная таблица перекрёстных ссылок. Указатель на месте, но его смещения больше не соответствуют действительности. Это самая распространённая форма повреждения PDF, и она почти всегда поддаётся восстановлению.
- Обрезанный файл. Загрузка, скачивание или копирование остановились раньше времени, и последняя часть файла — вместе с xref — так и не дошла. Восстановим до того места, где файл обрывается.
- Повреждённые потоки объектов. Отдельные объекты изменены, обычно программой, которая некорректно записала в файл. Восстанавливается постранично; повреждённые страницы могут потерять форматирование.
- Испорченные встроенные шрифты. Текст присутствует, но шрифт, на который он ссылается, нечитаем, поэтому страницы выглядят пустыми или как квадратики. Обычно исправляется подстановкой стандартного шрифта.
- Недопустимый заголовок. Файл не начинается с
%PDF-. Часто это значит, что перед вами вовсе не PDF или что к нему что-то приписали спереди.
Типичные сообщения об ошибках, расшифрованные
Сообщение, которое показывает ваша программа просмотра, — вполне надёжный указатель на то, что пошло не так. Вот те, что встречаются чаще всего:
| Сообщение об ошибке | Что это обычно означает | Восстановимо? |
|---|---|---|
| «При открытии этого документа произошла ошибка. Файл повреждён и не может быть восстановлен.» | Собственная попытка восстановления Adobe не справилась со сломанной xref | Обычно да, другим инструментом |
| «Не удалось загрузить документ PDF.» | Chrome не смог разобрать заголовок или xref | Обычно да |
| «Файл имеет неподдерживаемый тип либо повреждён.» | Недопустимый или отсутствующий заголовок %PDF- | Иногда — проверьте, точно ли это PDF |
| «Ожидался объект dict.» / «Недопустимый номер объекта.» | Повреждённый поток объектов | Частично — неповреждённые страницы восстанавливаются |
| Открывается, но все страницы пустые | Испорченные или отсутствующие встроенные шрифты | Обычно да |
| Открывается, но обрывается на середине | Обрезанный файл | Только до места обрыва |
| «Этот документ защищён.» | Это вовсе не повреждение: файл зашифрован | Это не задача восстановления |
Последняя строка значит больше, чем кажется. Заметная доля файлов, которые несут в инструмент восстановления, вовсе не повреждена: они защищены паролем, а сообщение программы просмотра просто сформулировано невнятно. Если пароль вам известен, воспользуйтесь инструментом Защитить PDF, чтобы управлять шифрованием файла, вместо попыток его восстановить.
Что можно восстановить, а что нет
Честно обозначить ожидания здесь ценнее оптимизма, потому что это подсказывает, когда пора перестать тратить время на файл и отправиться искать оригинал.
- Почти всегда восстановимо: сломанные таблицы xref, файлы, которые программа отказывается открывать, но которые в остальном полны, PDF, сохранённые программой, аварийно завершившейся посреди записи, и файлы, выглядящие пустыми из-за проблем со шрифтами.
- Частично восстановимо: обрезанные файлы. Вы получаете всё до того байта, на котором файл обрывается, и ничего после. Скачивание, дошедшее до 80%, обычно даёт примерно 80% страниц в целости.
- Редко восстановимо: файлы, в которых сами потоки объектов перезаписаны посторонними данными, например из-за отказывающего диска или умирающей карты памяти. Указатель можно перестроить, но он будет указывать на содержимое, которого действительно больше нет.
- Вообще не задача восстановления: зашифрованные файлы, файлы, которые никогда не были PDF (скажем, расширение
.pdfу документа Word), и файлы нулевого размера. Внутри файла в 0 байт восстанавливать нечего.
Три вещи, которые стоит проверить до восстановления
Каждая занимает меньше минуты и каждая решает реальную категорию проблем, не связанную с повреждением:
- Откройте файл в другой программе просмотра. Программы сильно различаются тем, насколько снисходительны они к некорректно сформированным файлам. PDF, который Adobe Acrobat отвергает наотрез, часто открывается в Chrome или Firefox, которые молча обходят мелкие структурные проблемы. Если он открылся в браузере, распечатайте его обратно в PDF — и у вас чистая копия.
- Скачайте его заново. Если файл пришёл по сети, простейшее объяснение — сбой передачи. Скачайте повторно и сравните размер с исходным, прежде чем винить сам файл.
- Убедитесь, что это PDF. Откройте файл в любом текстовом редакторе и посмотрите на первую строку. Настоящий PDF начинается с
%PDF-1.4или похожего. Если вы видитеPK, это ZIP или файл Office с неверным расширением; если видите<!DOCTYPE html>, вы скачали страницу ошибки вместо документа.
Восстановить PDF за три шага
Если файл действительно повреждён, восстановление с помощью PdfDocShift занимает три шага. Ни установки, ни регистрации, а каждый загруженный файл безвозвратно удаляется с наших серверов через два часа.
Откройте инструмент «Восстановить PDF»
Перейдите на pdfdocshift.com/repair-pdf и перетащите повреждённый файл в область загрузки или нажмите, чтобы выбрать его. Загружайте файл ровно в том виде, в каком он есть: не переименовывайте, не пересохраняйте и не открывайте с последующим экспортом — любое из этих действий может перезаписать восстановимую структуру.
Дайте проходу восстановления отработать
Инструмент просматривает весь файл в поисках корректных объектов PDF, вместо того чтобы доверять существующему указателю, заново собирает дерево страниц из найденного, перестраивает таблицу перекрёстных ссылок и подставляет стандартные шрифты вместо любого встроенного шрифта, который не удаётся прочитать. Большинство файлов обрабатывается за считаные секунды; очень крупные или сильно повреждённые занимают больше времени.
Скачайте и проверьте
Скачайте восстановленный файл и проверьте его как следует, а не только первую страницу. Убедитесь, что число страниц совпадает с ожидаемым, затем выборочно просмотрите страницу из середины и последнюю. Если страниц не хватает, файл был обрезан, и то, что у вас есть, — это всё, что уцелело.
Восстановите повреждённый PDF прямо сейчас
Бесплатно, без регистрации, файлы удаляются через 2 часа. Большинство восстанавливается менее чем за 10 секунд.
Открыть «Восстановить PDF» →Восстановление сканов и файлов с обилием изображений
Сканированные документы повреждаются иначе, чем текстовые, и их стоит рассматривать как отдельный случай. Сканированный PDF — это контейнер крупных изображений, поэтому гораздо большая доля файла приходится на данные изображений. Отсюда следует, что обрезание стоит вам целых страниц, а не сломанного указателя, и что неполный файл часто заканчивается посреди изображения, оставляя наполовину отрисованную последнюю страницу.
Из этого вытекают две вещи. Первая: восстанавливайте сканированный PDF прежде, чем делать с ним что-либо ещё; применение сжатия или преобразования к повреждённому скану обычно закрепляет повреждение навсегда. Вторая: если восстановленный файл открывается, но текст больше не выделяется, текстовый слой не уцелел — вы можете собрать его заново, пропустив восстановленный файл через OCR PDF, который прочитает изображения и запишет под ними новый слой текста, доступный для поиска.
Если спасённый скан после этого окажется громоздким — восстановление иногда даёт файл больше исходного, поскольку не может повторно использовать сломанные структуры сжатия, — Сжать PDF вернёт его к разумному размеру, не трогая сами страницы.
Как повреждаются PDF и как это предотвратить
Почти все реальные повреждения PDF сводятся к небольшому числу причин, и большинства из них можно избежать:
- Прерванные передачи. Оборвавшееся скачивание, сетевой ресурс, отключившийся посреди копирования, или USB-накопитель, вынутый до завершения записи. Всегда извлекайте съёмные носители штатно и проверяйте размер файлов после крупных передач.
- Правка файла в облаке во время синхронизации. Сохранение поверх PDF, который Dropbox, OneDrive или Google Диск как раз загружает, — надёжный способ получить файл, наполовину старый и наполовину новый. Дождитесь окончания синхронизации, прежде чем открывать файл.
- Аварийное завершение программ при сохранении. PDF, записанный программой, которая неожиданно закрылась, обычно содержит содержимое, но не имеет корректного указателя, — классический восстановимый случай.
- Отправка PDF встроенными вложениями через старые серверы. Некоторые устаревшие почтовые системы до сих пор применяют текстовое кодирование к двоичным вложениям, что портит их в пути. Упакуйте файл в архив перед отправкой, если имеете дело с системой, которой не доверяете.
- Отказывающий носитель. Сбойные секторы и умирающие карты памяти портят файлы бесшумно. Если на накопителе испортился не один файл, проблема в самом накопителе — скопируйте с него всё, прежде чем делать что-либо ещё.
Часто задаваемые вопросы
Нет, но большинство — можно. Сломанные таблицы перекрёстных ссылок, самая частая причина того, что PDF не открывается, почти всегда поддаются восстановлению: содержимое страниц не тронуто, и перестроить нужно только указатель. Обрезанные файлы восстанавливаются до места обрыва. Файлы, чьё фактическое содержимое перезаписано из-за отказа диска, как правило, не восстанавливаются, а файл нулевого размера не восстановит ни один инструмент.
Не должно. Восстановление перестраивает структурный указатель и дерево страниц файла; содержимое страниц копируется без изменений. Единственное исключение — встроенные шрифты: если шрифт нечитаем, восстановление подставляет стандартный, что может слегка изменить межбуквенные интервалы или расположение текста на странице. Сами слова не затрагиваются.
Браузеры гораздо снисходительнее к некорректно сформированным PDF, чем Acrobat. Chrome и Firefox молча обходят сломанную таблицу перекрёстных ссылок, просматривая файл в поисках страниц, тогда как Acrobat проверяет структуру и отклоняет файлы, её не прошедшие. Это полезный признак: если файл открывается в браузере, содержимое цело и восстановление почти наверняка сработает.
Обычно это проблема шрифтов, а не повреждение страниц. Содержимое страницы присутствует, но ссылается на встроенный шрифт, который программа не может декодировать, поэтому ничего не отрисовывается. Проход восстановления с подстановкой стандартных шрифтов обычно возвращает видимый текст. Если страницы остаются пустыми и после этого, документ может действительно содержать пустые страницы — проверьте инструментом «Удалить пустые страницы», сколько страниц несут содержимое.
Безопасно, если инструмент шифрует загрузки при передаче и оперативно удаляет файлы. PdfDocShift использует 256-битный SSL для каждой загрузки и безвозвратно удаляет каждый файл со своих серверов через два часа. Для особо чувствительных материалов восстановите файл, а затем, перед тем как делиться им, добавьте пароль инструментом «Защитить PDF», который применяет 256-битное шифрование AES.
Нет. Восстановление и расшифровка — совершенно разные операции. Инструмент восстановления перестраивает структуру повреждённого файла; он не снимает и не восстанавливает шифрование. Если PDF открывается запросом пароля, а не сообщением об ошибке, файл не повреждён — он защищён, и вам понадобится пароль.
Готовы вернуть свой файл?
Бесплатно, без регистрации, файлы удаляются через 2 часа. Работает на любом устройстве, без установки.
Открыть «Восстановить PDF» →