Abrir arquivos pdf

17 respostas
S

Alguem tem o codigo para abrir arquivos pdf ou consegue me dizer qual o problema deste?por favor me envie.

criei uma aplicação com o ireport e depois criei uma classe que gera os arquivos pdf, ao clicar sobre o arquivo eles abrem normalmente mas ao tentar abri-los ou qualquer outro arquivo pdf não consego. a linha de código é a seguinte:

[JasperViewer teste = new JasperViewer( “c:\dir\instalar.pdf”, false);]

Nao emite stackTrace, so da a seguinte mensagem:

“Error loading object from file: c:\dir\instalar.pdf”

Alguém me ajude???

17 Respostas

marcioa1

. Você consegue abrir o PDF diretamente via Acrobat ?
. Você colocou o iText no seu CLASSPATH ?

Márcio

S

Ele abre normalmente no acrobat, eu não usei o iText, usei o jasperreports e o ireport sendo que este ultimo esta setado no classpath.
Grato.

marcioa1

Snove9

O JasperReport usa o iText, e você deve colocá-lo no seu classpath

Márcio

S

:cry: marcio, setei no classpath o itext.jar mas infelizmente não deu certo, se tiver outra dica.
obrigado.

Alguém me ajude?

:cry:

marcioa1

Acho que outros arquivos jar são necessários ( commons alguma coisa ) Dê uma olhada no tutorial qui no GUJ e depois diga se funcionou.

Márcio

S

marcio, acho que não é falta de arquivo no classpath, pois se fosse isso geraria um stackTrace classNotFoundException, o pior é que não gera erro algum.

Socoorrooooo.

R

eu ja enfrentei um erro desses, mas nao conseguia localizar o .jrprint.

esse arquivo .jrprint é gerado a partir do .jasper
voce consegue gerar esse .jrprint?

existe um codigo que gera o PDF sem precisar do .jrprint, tem no tutorial do guj, mas nao consegui visualizar ele pela chamada da classe:

JasperRunManager.runReportToPdfFile(diretorio+“Relatorio.jasper”, parameters, con);

o pdf abre normalmente pelo acrobat, mas pela classe nao abre e nao lembro agora o erro.


agora nesse momento tb estou meio desesperado com o problema das versoes do jasper da classe serializada e a versao da execucao da aplicacao. ja deixei tudo a mesma versao, mas tem um erro que diz que nao tá ainda

S

posta seu erro quem sabe nao te ajudo.

No meu caso eu ja gerei o pdf so que a classe não o abre, mas se clicar no arquivo ele abre normalmente. Se conseguir lembrar me avise. Grato.

R

lá vai meu erro, lembrando que o PDF abre normal no acrobat. e esse erro acontece nessa linha:

JasperViewer.viewReport( dir+“classic2.pdf”, false );

[color=darkblue]java.io.StreamCorruptedException: invalid stream header

at java.io.ObjectInputStream.readStreamHeader(Unknown Source)

at java.io.ObjectInputStream.(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)

at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)

at net.sf.jasperreports.view.JRViewer.(JRViewer.java:128)

at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:117)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)

at t.teste.(teste.java:58)

at t.teste.main(teste.java:68)
NESTED BY :

java.io.StreamCorruptedException: invalid stream header

at java.io.ObjectInputStream.readStreamHeader(Unknown Source)

at java.io.ObjectInputStream.(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)

at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)

at net.sf.jasperreports.view.JRViewer.(JRViewer.java:128)

at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:117)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)

at t.teste.(teste.java:58)

at t.teste.main(teste.java:68)
NESTED BY :

net.sf.jasperreports.engine.JRException: Error loading object from file : C:\Documents and Settings\tarcisio\Desktop\jasper\t\classic2.pdf

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:89)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)

at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)

at net.sf.jasperreports.view.JRViewer.(JRViewer.java:128)

at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:117)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)

at t.teste.(teste.java:58)

at t.teste.main(teste.java:68)

Caused by: java.io.StreamCorruptedException: invalid stream header

at java.io.ObjectInputStream.readStreamHeader(Unknown Source)

at java.io.ObjectInputStream.(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)

 7 more[/color]

eu nao sei pq apareceu esses smilies

outro problema que eu tenho é que o arquivo .jrprint nao é gerado. mas esse ai eu já sei qe é o problema de classpath entre as versoes do jasper que eu tenho. a classa foi serializada com uma versao e eu to tentando executar a classe com outra versao. já tentei arrumar isso mas nao consigo

C

oi, pessoal!

Eu segui o exemplo do tutorial do GUJ, mas não tô conseguindo sair desse erro:

net.sf.jasperreports.engine.JRException: Error loading object from file : /Download/iReport-1.3.2/iReport-1.3.2/bin/relSubGrupoProduto.pdf

tentei usar com ou sem o .jrprint, mas não deu de nenhum jeito…
coloquei todos os .jar do iReport na classpath, passo todo o caminho dos arquivos (pdf, jasper, jrprint)…

alguém pode me ajudar?

matheuscechito

claudete:
oi, pessoal!

Eu segui o exemplo do tutorial do GUJ, mas não tô conseguindo sair desse erro:

net.sf.jasperreports.engine.JRException: Error loading object from file : /Download/iReport-1.3.2/iReport-1.3.2/bin/relSubGrupoProduto.pdf

tentei usar com ou sem o .jrprint, mas não deu de nenhum jeito…
coloquei todos os .jar do iReport na classpath, passo todo o caminho dos arquivos (pdf, jasper, jrprint)…

alguém pode me ajudar?

se os jar’s estão OK, tente visualizar da seguinte forma:

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con); JasperViewer.viewReport(jasperPrint);

no meu caso funcionou

C

oi, matheus…

sou iniiciante… como instancio este jasperReport passado como parametro? No exemplo q peguei era diferente…

matheuscechito

claudete:
oi, matheus…

sou iniiciante… como instancio este jasperReport passado como parametro? No exemplo q peguei era diferente…

é…eu tava olhando aki e acho q com isso q te passei não dará certo no seu caso, pois eu não usei iReport, meu relatório é dinâmico…mas tente fazer isso:

String arquivoJasper = "CAMINHO PRO SEU .jasper"; JasperPrint impressao = JasperFillManager.fillReport(arquivoJasper, parameters, jrRS); JasperViewer.viewReport(impressao, false);
só pra confirmar, os jar’s que eu usei foram:

  • iReport.jar
  • itext-1.3.1.jar
  • jasperreports-1.3.0.jar
  • jcommon-1.0.0.jar

tente ae…
t+

C

Valeu, MAtheus!!! :smiley:

Funcionou!!! :smiley:

Tava faltando jogar pra variável jasperPrint…

E, por curiosidade, como é esse relatório dinâmico? Tem algum material q vc possa me passar pra eu ler?? é melhor do q o iReport ou depende da aplicação??

Brigadão!!! :smiley:

matheuscechito

Se vc não precisa de dinâmicidade é melhor usar o iReport msm, é q no meu caso os dados viriam todos do banco e eu teria q hora apresentar uma coisa, hora apresentar outra.
Mas dá pra ter uma idéia pelo código que está nesse tópico http://www.guj.com.br/posts/list/51368.java os jars que tinham dado erro são os mesmos q te passei.

qlq coisa posta ae
t+

C

valeu pela atenção…

é… na minha aplicação, o iReport resolve, mas bom saber q tem outras opções, qdo eu precisar…

brigada de novo. :smiley:

A

claudete:
valeu pela atenção…

é… na minha aplicação, o iReport resolve, mas bom saber q tem outras opções, qdo eu precisar…

brigada de novo. :smiley:

Se tu tem uma aplicação Desktop, pode usar o JPedal:


http://www.jpedal.org

[]'s

Criado 8 de junho de 2005
Ultima resposta 10 de abr. de 2007
Respostas 17
Participantes 6