Ошибка FPDF: ошибка при распаковке потока - PullRequest
1 голос
/ 14 июня 2011

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

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

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

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 14 июня 2011

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

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

0 голосов
/ 18 декабря 2013

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

...