Olá

Este post é para deixar registrado um tutorial relacionado ao JasperReports feito por Roberto Lourenço de Oliveira Júnior da UFLA.
De acordo com ele, o tutorial ensina como mostrar os relatórios em aplicativos feitos em Adobe Flex.

Neste artigo, mostrarei como integrar os relatórios gerados pelo Jasper Report com uma aplicação Flex,
utilizando para isso o xViewer, que nada mais é que um Flex Viewer para Jasper Report.

[download id=”17″]

Até mais,
Roberto

Share

Olá!

Escrevi mais um tutorial sobre iReport, dessa vez explorei os relatórios crosstab ou relatórios de tabela cruzada.

relatório crosstab

Introdução a relatórios Crosstab com iReport/JasperReports

No exemplo foi usado uma fonte de dados ODBC, mas nada impede usar uma Collection de beans para alimentar o relatório.

Espero ter ajudado. 😀

Abaixo mais links sobre como fazer relatórios em Java com iReport.

Até mais,
Roberto

Share

Dicas de iReport

09/julho/2009 - Java

Olá!

Abaixo seis dicas para iReport/JasperReport. Espero que seja úteis para alguém. 😉

  1. Não exibir null
    Para que o campo texto no relatório não fique exibindo null basta marcar a opção Branco quando nulo na propriedade dos campos texto do seu relatório.
  2. Alterar as propriedades do PDF
    No menu opções > opções de export é possível alterar várias informações que vão embutidas no PDF, como o título, autor, assunto, palavras-chave e aplicativo, no Adobe Reader pressione Ctrl + D para ver as propriedades do documento.
  3. Colocar senha no PDF
    Para colocar senha no relatório é muito fácil, no menu opções > opções de export selecione Is Encripted e preencha no campo using default(User password) e Owner password com a senha para abrir o PDF.
  4. Expressões
    O iReport permite criar expressões bastante sofisticadas, são blocos de código java que são executadas dentro do relatório para mais diversos fins. Geralmente usados determinar se mostra ou não um campo, fazer um cálculo para ser exibido ou simplismente concaternar strings.
    Exemplo: Para dar um substring é só usar
    $P{parametro}.substring( 0, 2 );
    Para concatenar com um espaço no meio use $P{parametro} + ” ” + $P{parametro}
    Para saber se o parâmetro ou campo é diferente de null, $P{parametro} != null.
    Dentro dessas expressões é possível usar os parâmetros, variáveis e os campos.
  5. Internacionalização
    É fácil fazer relatório internacionalizáveis no iReport. No menu editar, clique em propriedades do relatório, na aba i18n informe no campo nome da base do pacote do recurso o prefixo dos arquivos properties com as mensagens. Por exemplo se você tem os arquivos Mensagem_pt_BR.properties, Mensagem_en_US.properties e Mensagem.properties informe nesse campo apenas Mensagem
    Se os arquivos estiverem dentro de pacotes você deve informar o caminho completo, exemplo br.com.furutani.resources.Mensagem
    Existe a opção de informar o
    arquivo de resource bundle via paramêtros, desse forma é mais dinâmica pois você pode montar o resource bundle com uma tabela de banco de dados por exemplo, para isso basta que no HashMap de parâmetros coloque a chave REPORT_RESOURCE_BUNDLE e no valor um objeto do tipo java.util.ResourceBundle.
    Para mostrar um texto do resource bundle no relatório, adicione um campo texto e coloque na propriedade expressão $R{chave}. Exemplo: $R{msg.hoje}
  6. Protegendo o documento PDF
    É possível desabilitar o botão Imprimir, o Ctrl+C no documento, permitir adicionar comentários e etc. no menu opções > opções de export selecione a propriedade Is Encripted e no campo Permissions informe 16 para permitir copiar, 2052 para permitir imprimir, 512 para permitir leitores de telas, 0 (zero) para bloquear tudo. Para permitir copiar e imprimir informe 2068.
    Esses números são baseados nas constantes ALLOW_* encontradas na classe com.lowagie.text.pdf.PdfWriter para saber o número a informar nesse campo com um conjunto de permissões uso o operador |

    Exemplo:  System.out.println(PdfWriter.AllowCopy | PdfWriter.AllowPrinting);
Share

Olá!

Abaixo uma dica de tutorial sobre JasperReports feito pelo Flávio Araújo.

Hoje trago um tutorial que acabei de elaborar sobre o JasperReports e iReports – plugins para geração de relatórios em Java.

Neste tutorial, a IDE usada foi o NetBeans.

Share

IReport e out of memory

26/junho/2009 - Java

Olá!

Recentemente tive um problema um tanto quanto estranho com iReport 3.0.0. Criei um relatório com tamanho A4 e desenhei todos os campos do VO/DTO/Bean e ao rodar com  o botão executar relatório ele compilava e exportava para PDF normalmente. Então peguei o .jasper e joguei na minha aplicação, ai começou o problema de OutOfMemory – No Java heap space. A aplicação rodava normalmente até encontrar a linha JasperFillManager.fillReport(), ela  ficava parada por um bom tempo até dar o OutOfMemory sem maiores explicações.

Depois de algum tempo e algumas googladas descobri que se alterar o tamanho do relatório de A4 para algum tamanho maior e funciona normalmente. O que foi que eu fiz voltei para o tamanho A4 e tirei alguns elementos de cima da linha roxa. Veja abaixo como era e como ficou.

ireport

A diferença é de apenas 1 pixel mas o IReport não reclama que o elemento extrapolou a margem (isso vale pra margem esquerda e direita). O mais engraçado é que na margem direita ele deixa o elemento em vermelho, mas na esquerda não. Um outro ponto a ser observado é se o tamanho das bandas utilizadas não ultrapassa o tamanho do relatório (A4 nesse caso).

Para prevenir desse erro agora trabalho sempre mantendo um espaço sabidamente menor que o tamanho útil  do relatório.

Até mais,
Roberto

Share