tempo de leitura:

Estava fazendo alguns testes com o PDFLib, e percebi um certo problema em navegadores Internet Explorer: Quando tentava gerar um PDF passando-o em modo Inline para o browser (não como anexo), o Internet Explorer dava erro e não exibia a mensagem. Abaixo o trecho do código que ilustra isso:

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=index.pdf");
print $buf;

Após algumas consultas, fui informado pelo próprio pessoal da PDFLib, que se tratava de um problema no próprio IE especificamente na geração de arquivos PDF de forma dinâmica. Quando o IE reconhece que o tipo do conteúdo necessita de um controle ActiveX (PDF por exemplo), ele cancela a transmissão e refaz uma nova requisição para obter o arquivo. Abaixo alguns links relacionados na KB da Microsoft sobre o problema:

Ontém depois de algumas pesquisas, descobri uma forma de contornar este erro, adicionando as linhas a seguir, antes do código relatado acima:

header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header('Content-Transfer-Encoding: none');

Espero que isso possa ajudar outros no mesmo problema…

Blog Logo

José Morelli Neto


Publicado em

Image

Notas do Neto

De tudo um pouco...

Ir para início