pdf ошибки с php, apache2 - PullRequest
       13

pdf ошибки с php, apache2

0 голосов
/ 16 июня 2010

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

Стандартный стек ламп - однако, если вы попытаетесь открыть PDF-файл из Windows с помощью Acrobat Reader, он выдастошибка, что «файл поврежден и не может быть восстановлен».С Mac, Linux и т. Д. Файл работает нормально и открывается нормально.Он также прекрасно открывается в Google Docs, поэтому ясно, что сам PDF в порядке.

Возможно ли, что MIME-тип (application / pdf) вызывает проблемы в Windows?

Спасибо

1 Ответ

0 голосов
/ 16 июня 2010

Какой браузер на Windows?Все?Или только один?Мой первоначальный инстинкт инстинкта заключается в том, что браузер Windows игнорирует кодировку, ЕСЛИ содержимое архивируется (игнорируя заголовок Content-Encoding).Это если вы даже отправляете этот заголовок.

Откройте файл, который вы скачали, в каком-нибудь текстовом редакторе (Блокнот и т. Д.).Первые несколько символов файла должны быть %PDF-1. с другим числом после него.Если это не в начале, проверьте, не заархивирован ли файл (переименуйте файл в blah.gz, а затем запустите его через gzip, чтобы попытаться декодировать его).Если это сработало, то ваша проблема в браузере, игнорирующем кодировку.

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

О, а application/pdf - это правильный тип пантомимы.И тип MIME не является вашей проблемой, так как Acrobat по крайней мере пытается открыть файл ...

...