Jasper Reports - Dúvidas de iniciante

4 respostas
kicolobo

Olá,
estou iniciando agora o desenvolvimento com o Jasper Reports e estou realmente gostando muito da ferramenta pelo pouco que estou conhecendo estou ficando realmente maravilhado.

Agora, estamos querendo integrar o Jasper em nossa aplicação que possui interface web. Sendo assim, seguem minhas perguntas de principiante:

Há como integrar o iReport com o Netbeans 5.5? Se possível, como devemos proceder?

É possível executar o applet de visualização de relatórios do Jasper, vi inclusive em execução, no entanto não encontrei nenhuma documentação expondo seus parâmetros e modo de uso. Aonde posso encontrar informações sobre ele?

Ainda sobre o Applet, há como habilitar a exportação dos relatórios expostos pelo mesmo para os formatos suportados pelo Jasper?

Aonde posso encontrar maiores informações sobre a utilização desta ferramenta em aplicações web?

4 Respostas

filipeandrep

Caro colega, para aplicaçoes web com o jasper geralmente é usado um servlet que executa o relatorio algo semelhante ao exemplo a seguir:

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

try {
     Conexao conexao = new Conexao();
     JasperReport jasperReport = JasperCompileManager.compileReport(getServletContext().getRealPath("/") + "relatorios/relatorio_grade.jrxml"); 
     
     Map parameters = new HashMap();
     parameters.put("title", "A user-customized title"); 

     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conexao.getCon());

     ServletOutputStream saida = response.getOutputStream();
     
     JasperExportManager.exportReportToPdfStream(jasperPrint, saida);
     
             //exportReportToPdfFile(jasperPrint, getServletContext().getRealPath("/") + "relatorios/rel_stream.pdf");
     
     
  } catch (JRException JRex) {
     JRex.printStackTrace();
  }catch (SQLException SQLex) {
     SQLex.printStackTrace();
  }catch (Exception ex1) {
     ex1.printStackTrace();
  }

}

para maiores exemplos faça busca de exemplos de servlets para ireport.

Espero ter ajudado.

kicolobo

Valeu Filipe, era exatamente o que estava procurando.

No entanto, tenho mais uma dúvida: nossa aplicação possui tanto interface web quanto desktop, razão pela qual quanto mais código pudermos reaproveitar melhor. Nosso objetivo agora consiste portanto em utilizar os mesmos relatórios para ambos os tipos de interface.

Para tal, estamos pensando em criar um projeto separado no qual colocaríamos nossos relatórios e os mesmos poderiam portanto ser reaproveitado em todas as nossas interfaces.

Nos códigos que encontrei até agora, as chamadas ao método compileReport normalmente apontam para arquivos que se encontram externos aos arquivos JAR dos projetos. Pergunto portanto: estes arquivos necessáriamente devem estar fora dos arquivos JAR ou é possível compilá-los diretamente, dentro dos arquivos JAR?

filipeandrep

meu caro nunca tentei mas creio eu que sim.

kicolobo

Mais uma dúvida.

Eu posso ler arquivos .jasper armazenados no classpath para gerar os relatórios de saída? Se possível, como devo proceder? Algum exemplo?

Criado 2 de fevereiro de 2007
Ultima resposta 6 de fev. de 2007
Respostas 4
Participantes 2