Ошибка FPDF: ошибка при распаковке потока

Я создал веб-приложение, включающее библиотеку fpdf, которая позволяет клиентам загружать pdf-файлы, которые моя система затем объединяет в ежемесячный отчет (добавляя обложку, страницу содержания и т. д.).

В прошлом месяце я получил эту ошибку:

Ошибка FPDF: ошибка при распаковке потока

Я погуглил, и единственные люди, которые сталкивались с этим раньше, похоже, немцы!

Обработчик ошибок находится в строке 241 fpdi_pdf_parser.php и ссылается на «case '/FlateDecode':» и другие вещи, которые я не понимаю.

Я проследил проблему до одного файла PDF, который выглядел нормально, но постоянно вызывал проблему. Я создал новую версию pdf, скопировав экран со старой, и когда я загрузил ее, все заработало.

Как я уже сказал, я обошел проблему, но не очень понимаю, как, и не хочу снова сталкиваться с тем же.

Есть идеи, что происходит?

Заранее спасибо.


person Derek    schedule 14.06.2011    source источник


Ответы (2)


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

Также возможно, что этот файл содержит некоторые особенности из спецификации PDF, которые не поддерживаются FPDF. Если у вас есть возможность опубликовать оскорбительный файл, возможно, вы сможете еще немного сузить проблему.

person yms    schedule 14.06.2011
comment
Ах... имеет смысл. Это оскорбительный файл: derekwinton.com/Reactive_ALL_Apr2011.pdf Спасибо за помощь. - person Derek; 15.06.2011
comment
На первый взгляд я не вижу ничего плохого в этом файле, так что это может быть проблема совместимости с используемой библиотекой. - person yms; 15.06.2011

обычно в таких случаях помогает установить или обновить модуль zlib с помощью PHP. Проблема также возникает из-за того, что картинки вставляются в pdf-документ (см. требования к картинкам на http://www.fpdf.org/en/doc/image.htm).

person Alexander    schedule 18.12.2013