Olá a todos, alguém sabe como abrir um arquivo pdf via código ? Por exemplo, o “arquivo.pdf” sendo aberto com o programa padrão de vizualização de pdf… Se não, vcs conhecem um bom visualizador de pdf, escrito em java, que pelo menos permita escolher a impressora a ser usada para imprimir?
Abrindo arquivo pdf via código
15 Respostas
Ueba … qual o SO?
Se for windows é só tentar executar o arquivo pdf que o windows se encarrega de chamar o programa registrado para visualiza-lo.
com arquivos executáveis da certo mais com arquivos normais não funciona.
o grupo Apache tem uma ferramenta chamada FOP que dispõe de uma classe que carrega uma GUI (em Swing) que abre documentos PDF. Na verdade ela é usada para transformar arquivos XSL-FO em PDF mas se você já tem o PDF fica mais fácil para abrir.
O link é:
xml.apache.org/fop
Eita, funciona sim … minhas aplicações iniciam o acrobat dessa maneira (executando o pdf).
vou verificar novamente com arquivos não executáveis. :?
No acrobat tem uma library para vizualizar o PDF dentro do Java.
http://www.adobe.com/products/acrviewer/acrvdnld.html?name=Accept#java
Essa eu não sabia, vou dar uma olhada!
Muitas vezes há uma incompatibilidade com o Internet Explorer na hora de abrir o PDF em aplicações web. Se ela aparecer essa pode ser uma boa saída.
Ei, smota, funciona com arquivos normais? Que classe vc tá usando? Coloca o código pra gente ver ?
Outra boa alternativa é utilizar o iText
Runtime.getRuntime().exec("command /C "" + f.getAbsolutePath() + """);
Onde f é o arquivo PDF.
eu fazia sem chamar o command, por isso não dava certo!
você tambem pode criar um metodo que chame proprio adobe instalado na maquina passando por parametro o caminho para o arquivo .pdf
Caras, não consegui fazer funcionar o código do smota no linux… Vou continuar tentando… E aí duosan, coloca o código pra gente entender a tua idéia…
No linux não é com o command … não sei como fazer no linux 
Talvez não seja tão trivial … acho que ao inves de basear o comando no SO vc vai ter que se basear no gerenciador de janelas que estiver usando pra pegar o aplicativo registrado para abrir PDFs.
Alguem tem ideia?
Nao rola, smota… o unico jeito de iniciar um programa de forma portavel eh pedindo pro usuario o caminho completo dele. Eh um jeito bem familiar de fazer a coisa pros UNIXeiros de plantao… afinal, eh pra isso que a gente tem aquele monte de variaveis FOO_HOME 