Duvida IReport geração de PDF

1 resposta
rockstorm

Boa tarde,
Estou com uma duvida no seguinte caso.
Tenho uma classe para gerar relatorios com jasper, criado com oIReport. minha classe esta compilando o arquivo JRXML e depois chamando a processo de geração do PDF.

Minha duvida:
Posso pular o passo da compilação do arquivo RelatorioPlanl.JRXL e passar o jasper para a geração??
Hoje faço assim:

JSPREPORT_FILES2= (String)request.getRealPath("/") + "relatorios//RelatorioPlanl..jrxml";
                                JasperReport relatorio2 = JasperCompileManager.compileReport(JSPREPORT_FILES2); //compilando o arquivo JRXML

                                JasperPrint impressao2 = JasperFillManager.fillReport(relatorio2, parametros, con);
                                JasperManager.printReportToPdfFile(impressao2, "teste.pdf");

Posso fazer assim??:

JasperPrint impressao2 = JasperFillManager.fillReport(RelatorioPlanl.jasper, parametros, con);//colocar direto o jasper
                                JasperManager.printReportToPdfFile(impressao2, "teste.pdf");

Estou fazendo isso porque estou tendo um erro muito estranho no Application Server da Sun onde não estão sendo compilados os arquivos gerados pelo IReport e mostrando como DEPRECATE todos os metodos do JasperReport.
grato

1 Resposta

morais

Boa tarde,

Consideração inicial, existe sim a possibilidade de vc retirar a compilação do arquivo jrxml do código Java. Para isso, basta vc compilar tal arquivo/modelo do IReport, no próprio IReport. Nele vc já identifica possíveis incosistências de compilação do Relatório. Ao compilar no IReport será gerado um arquivo .jasper. Este será o arquivo que você irá acessar em sua aplicação java (via JasperReport). Não esqueça de alterar no IReport o local a ser compilado tal arquivo montado.

Provavelmente vc está com uma versão do JasperReport cujos métodos utilizados estão mesmo DEPRECATED. Tenta fazer o seguinte em sua aplicação Java. Trecho de código utilizado em um Servlet, com a versão 2.0.0 do JasperReport e IReport.

ServletOutputStream servletOutputStream = response.getOutputStream();

InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("/jasperReports/pedidoCompra.jasper");

JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream,
reportParameterMap, new JREmptyDataSource()
);

response.setContentType(“application/pdf”);

reportStream.close();

servletOutputStream.flush();

servletOutputStream.close();

Espero que te ajude!

[]'s

Criado 31 de agosto de 2007
Ultima resposta 31 de ago. de 2007
Respostas 1
Participantes 2