A resposta deve ser simples, mas não consegui descobrir, vai lá:
Como fazer para abrir um arquivo pdf sem abrir uma página em branco no browser e outra para o Adobe Reader ?
Queria que o Adobe abrisse o pdf dentro da página do browser.
O link que coloquei para abertura chama um servlet que lê um stream.
Alguém pode me dar a dica ?
Se o usuário tiver o plugin do Acrobat Reader instalado, se você colocou o content-type certo no seu servlet (application/pdf) e não forçou o download pelo cabeçalho http (Content-Disposition: attachment;
filename=“LicenseAgreement.pdf”) deveria funcionar…
[]'s
Rodrigo
Funcionando está, a única coisa que eu queria era que abrisse na mesma janela igual aos outros tipos de arquivo.
Só arquivos pdf abrem em uma segunda janela com o Adobe Reader.
Alguém mais sabe o que fazer?
Tente adicionar no Header da message o Content-Disposition como “inline”
Você poderia mostrar como você está procedendo agora pra abrir o PDF?
Tem como exibir algumas informações e na parte de baixo abrir o pdf, como se fossem 2 divs?
[code]
informacoes do arquivo
aqui exibiria o pdf
[/code]
[quote=antoniopopete]Tem como exibir algumas informações e na parte de baixo abrir o pdf, como se fossem 2 divs?
[code]
informacoes do arquivo
aqui exibiria o pdf
[/code][/quote]
Acho que só com
Bom, até onde sei, o servidor não escolhe para onde deve mandar a resposta.
Assim, se vc quer que a resposta vá para um
Para quando abrir essa página com duas divs já aparecer o PDF vc pode fazer algo como:
<div id="informacoes">
</div>
<iframe id="framePdf" src="caminhoParaArquivoNoServidor.pdf">
</iframe>
Se o pdf for gerado “on the fly”, é interessante vc setar “content-dispostion” como “inline” no seu cabeçalho de resposta.
Mas se quiser que o link para abrir o pdf esteja na
“informações”, vc pode tentar usar JavaScript para simular essa requisição…
<div id="informacoes">
<a href="#" onclick="framePdf.src=caminhoParaArquivoNoServidor.pdf">Link para PDF</a>
//NAO SEI SE ESSA JAVASCRIPT ESTÁ CORRETO! =)
</div>
<iframe id="framePdf" src="">
</iframe>
Acho que isso te ajuda.
Avisa aqui se der certo, blz?¡
Abraços
dentro da tag div vc inclui a tag iframe e na propriedade src=“teste.pdf” vc deve apontar para onde esta o arquivo.
Esse pdf é gerado oriundo de um cambo blob do banco de dados…
O que seria geração “on the fly”?
Não tenho como apontar para onde o arquivo está porque vou criar ele dinamicamente ou vou ter que separar uma pasta no servidor para fazer isso?
Calma aí, calma aí…
São duas coisas distintas. Uma é gerar um PDF dinamicamente, outra é exibi-lo dentro de um
Geração “On The Fly” é o que vc chamou de “dinâmica”.
O pdf é gerado a dinamicamente, a partir de alguns parâmetros, em tempo de execução, “on the fly”…
Para isso, vc deve configurar corretamente seu cabeçalho e “imprimir” o conteúdo do pdf, os bytes, na resposta.
Tem alguns códigos prontos por aí. Pai Google de Oxum ajudará!
[]s
Mude a linha:
response.setHeader(“Content-Disposition”, “atachment; filename=”" + sFile);
Parar
response.setHeader(“Content-Disposition”, “inline; filename=”" + sFile);
Abraços,
Eber M. C