Como abrir PDF no browser?

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?

Não tem aquelas tags html tipo " ? HTML não é o meu forte, e sei que “target = ‘self’” é o padrão, mas às vezes é necessário especificar explicitamente '“target = ‘self’”, só não sei exatamente quando.

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

Como funcionaria isso??

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”… :wink:

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

Aqui no GUJ mesmo…

http://www.guj.com.br/posts/list/55341.java

Mude a linha:

response.setHeader(“Content-Disposition”, “atachment; filename=”" + sFile);

Parar
response.setHeader(“Content-Disposition”, “inline; filename=”" + sFile);

Abraços,

Eber M. C