Página de geração de PDF abre mas o conteúdo não aparece

De LATROMI Manuais
Ir para: navegação, pesquisa

Problema

RPT não carrega e sinal de carregamento não desaparece

Ao abrir uma página, que deveria ser carregada com um PDF, o sinal de carregamento da página não desaparece, e o conteúdo do RPT não é exibido.

Causa

O servidor retorna para o navegador uma instrução que indica que o arquivo (no caso, o arquivo.pdf) pode ser baixado de forma particionada, mas o navegador não consegue unir todos os pacotes. Neste caso o arquivo é gerado corretamente no lado do servidor, mas acontece uma falha no download do arquivo.

Essa falha pode ser observada através das ferramentas de depuração do Google Chrome, na aba Network, onde o arquivo PDF aparecerá primeiro com status 200-OK em vermelho seguido do status 206-Partial Content, como pode ser visto na imagem abaixo:

ChromeNetworkDebug 206PartialContent.JPG

Solução

A solução para este problema, é desabilitar o recurso de download de arquivos particionados. Se você usa a versão 7 ou superior do IIS e está atualizado com a versão 2.0.0.1 ou superior do site, a solução já foi incluída no aquivo de configuração (Web.Config), na sessão:

  <httpProtocol>
     <customHeaders> 
        <add name="Accept-Ranges" value="none" />
     </customHeaders>
  </httpProtocol>

IIS 6

Tela de manipulação de Cabeçalhos Customizados no IIS 6

Se você usa a versão 6 do IIS, siga os passos abaixo para alterar o cabeçaho HTTP Accept-Ranges:

  • Abra o gerenciador de IIS (Iniciar > executar > inetmgr).
  • Na listagem à direita, selecione a aplicação web correspondente, clique com o botão direito do mouse e vá até a opção Propriedades.
  • Na janela que foi aberta, clique na aba Cabeçalhos HTTP.
  • Clique no botão Adicionar
  • No campo Nome do cabeçalho personalizado digite Accept-Ranges.
  • No campo Valor do cabeçalho personalizado digite none'.
  • Cliquei em OK para adicionar e clique em OK na tela de propriedades da aplicação para concluir.
  • Reinicie o servido do IIS.

Ver Também