[RESOLVIDO] Jasper - export To Pdf File

19 respostas
Sad7

Ae galera…eh o seguinte, crei uma pagina no ireport e quero exportar para pdf.
ele nao ta dando nehum erro no java e exporta tudo certo, porem quando eu abro arquivo exportado nao tem nada, simplesmente em branco.

codigo para exportar:

JasperPrint jasperPrintPDF = JasperFillManager.fillReport("relatorios/rpt_PDF.jasper", parametros, daoRelatorio.con()); JasperExportManager.exportReportToPdfFile(jasperPrintPDF, localSalvar + ".pdf");

alguem sabe o q pode ser?!

19 Respostas

jeroqueiroz

Ele abre totalmente em branco ou exibe alguma mensagem?.

Você esta tratando os campos para não retornarem NULL no rel?. Se não qdo abre os campos aparecem NULL?.

Pode ser varios fatores, posta mais informações pra ver se conseguimos ajudar

Sad7

vamo lah,
nao esta sendo passado nehum valor null para o relatorio pois nao tem nada a ser passado. eu so estou passando um valor que eh o titulo, que por sinal esta passando certo pela variavel “parametro” pois eu jah debuguei, no meu report eu tenho apenas o titulo, uma imagem e algumas linhas, ele compila normalmente sem erro algum.

quando eu gero o pdf e abro o arquivo gerado nao aparece absolutamente nada, sem mensagens sem nada, somente uma pagina em branco.

jeroqueiroz

Já tentou tirar a imagem e gerar o relatório?, se não faça este teste, pois já tive problema parecido que era uma imagem, apesar de não apresentar erro ele não exibia o resultado.

Gerando pela própria ferramenta ele gera normal? Você já testou?.

Sad7

eu tirei a imagem e mesmo assim nao foi…
se eu compilo pelo iReport roda perfeitamente, se eu compilo pelo java tambem compila porem nao aparece nada.

=//

jeroqueiroz

Cara aqui eu chamo desta forma e funciona normal.

impressao = JasperFillManager.fillReport(jReport, lParams);
JasperExportManager.exportReportToPdf(impressao);

Tenta modificar pra ver se resolve algo…Estou fazendo uns testes aqui pra ver se descubro algo.

Sad7

jeroqueiroz:
Cara aqui eu chamo desta forma e funciona normal.

impressao = JasperFillManager.fillReport(jReport, lParams);
JasperExportManager.exportReportToPdf(impressao);

Tenta modificar pra ver se resolve algo…Estou fazendo uns testes aqui pra ver se descubro algo.

eu fiz desse jeito, rodou normal, porem pelo comando “exportReportToPdf” eu nao sei para onde eh q o arquivo foi exportado =/, como eu vou ver se deu certo?!

olha como ficou:

JasperPrint jasperPrintPDF = JasperFillManager.fillReport("relatorios/rpt_PDF.jasper", parametros); JasperExportManager.exportReportToPdf(jasperPrintPDF);

jeroqueiroz

Uso aqui desta forma em uma app Web…ele gera no Browser ou pergunta onde salvar como um download. Mais não acho que isso não resolve seu problema…foi só uma sugestão para teste…Porém seu código ao menos o trecho apresentado não identifiquei erro…

impressao = JasperFillManager.fillReport(jReport, lParams);
byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
pOut.write(bytes, 0, bytes.length);
pOut.flush();
pOut.close();
Sad7

impossivel isso cara,
todo lugar que eu procuro ta fzd desse jeito…e da certo, eu axo que pode nao ser o comando e sim alguma coisa que tem q fazer antes…mais oq?!

=//

jeroqueiroz

Tambem acho isso…pra mim o seu código esta correto…to aqui verificando outros fatores pra ver o que pode ser…

jeroqueiroz

Testa chamando o jrxml pra ver. Vai como sugestão.

InputStream reportStream = this.getClass().getClassLoader().getResourceAsStream("relatorios/rpt_PDF.jrxml");
JasperReport jReport = JasperCompileManager.compileReport(reportStream);
 JasperPrint jasperPrintPDF = JasperFillManager.fillReport(jReport, parametros, daoRelatorio.con());  
JasperExportManager.exportReportToPdfFile(jasperPrintPDF, localSalvar + ".pdf");
Sad7
jeroqueiroz:
Antes deste código você esta compilando o rel. Da forma que esta seu código aparentemente não?
JasperReport jReport = JasperCompileManager.compileReport(reportStream);
eu to compilando da seguinte maneira:
JasperCompileManager.compileReportToFile("relatorios/rpt_PDF.jrxml", "relatorios/rpt_PDF.jasper");
Sad7

jeroqueiroz:
Testa chamando o jrxml pra ver. Vai como sugestão.

InputStream reportStream = this.getClass().getClassLoader().getResourceAsStream("relatorios/rpt_PDF.jrxml"); JasperReport jReport = JasperCompileManager.compileReport(reportStream); JasperPrint jasperPrintPDF = JasperFillManager.fillReport(jReport, parametros, daoRelatorio.con()); JasperExportManager.exportReportToPdfFile(jasperPrintPDF, localSalvar + ".pdf");

se eu coloco assim da exception na segunda linha:

Esse “inputStream” eh do “java.io”?

jeroqueiroz

Exato

import java.io.InputStream;

jeroqueiroz

Cara pra se sincero…acho o código não é o problema, pode ser a versão da biblioteca q ta usando…

Qual a versão do iReport?

Algo do tipo…não creio q seja o código não…fiz algumas citações ai, porém não creio que seja ele não…

Sad7

eu to usando o iReport 3.6.0 e minha jar é versao 3.5.1, porem eu estou salvando no modo compatibilidade para nao ter problemas!

Sad7

Consegui…depois de nao saber mais o que fazer eu tentei mexer no iReport…entao percebi que o campo da query estava vazio…pois eu nao vo precisar pegar nada do banco…entao coloquei uma query qulquer e entao ele passou a exportar certinho.

A

Estou com o mesmo problema!

Alguém conseguiu resolver?

jeroqueiroz

A Solução citada acima nao resolveu nao?

A

Não resolveu não!

Eu uso o banco!
Passo a Query por parametro.
E o PDF vem em branco!

Criado 29 de setembro de 2009
Ultima resposta 27 de mai. de 2010
Respostas 19
Participantes 3