Abrindo arquivo pdf via código

15 respostas
J

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?

15 Respostas

smota

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.

E

com arquivos executáveis da certo mais com arquivos normais não funciona.

E

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

smota

Eita, funciona sim … minhas aplicações iniciam o acrobat dessa maneira (executando o pdf).

E

vou verificar novamente com arquivos não executáveis. :?

brlima

No acrobat tem uma library para vizualizar o PDF dentro do Java.

http://www.adobe.com/products/acrviewer/acrvdnld.html?name=Accept#java

E

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.

J

Ei, smota, funciona com arquivos normais? Que classe vc tá usando? Coloca o código pra gente ver ?

mbjunior

Outra boa alternativa é utilizar o iText

smota
Runtime.getRuntime().exec("command /C "" + f.getAbsolutePath()  + """);

Onde f é o arquivo PDF.

E

eu fazia sem chamar o command, por isso não dava certo!

D

você tambem pode criar um metodo que chame proprio adobe instalado na maquina passando por parametro o caminho para o arquivo .pdf

J

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…

smota

No linux não é com o command … não sei como fazer no linux :cry:

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?

cv1

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

Criado 14 de janeiro de 2004
Ultima resposta 19 de jan. de 2004
Respostas 15
Participantes 7