Relatório com gráficos sem banco de dados

Tudo certo galera?

Gostaria de saber se alguém já desenvolveu algum relatório em PDF usando Jasper Report ou aquela ferramenta com os gráficos prontos o JFreeChart sem usar banco de dados em uma aplicação com Swing? Como posso começar e como preparar os dados?

Qualquer ajuda é bem vinda :smiley: , obrigado…

Att,

O que você já fez?

(Sabendo o que você já tem fica mais fácil ajudar)

Olha, eu consegui gerar uma imagem com um gráfico de pizza mas gostaria de colocar isso em um pdf com mais dados, saberia como devo iniciar?

public class CidadePizzaBean {
  private StreamedContent grafico;
  private static final Logger log = Logger.getLogger(CidadePizzaBean.class.getName());
  
  public CidadePizzaBean(){
      try{
      JFreeChart graficoPizza = ChartFactory.createPieChart("5 Cidades mais populosas de SC",
              this.geraDados(), true, true, false);
      File arquivoGrafico = new File("src/relatorios/pizza.png");
      ChartUtilities.saveChartAsPNG(arquivoGrafico, graficoPizza, 500, 300);
      this.grafico = new DefaultStreamedContent(new FileInputStream(arquivoGrafico), "image/png");
      }catch(Exception e){
          log.severe(e.getMessage());
      }
  }

    public StreamedContent getGrafico() {
        return grafico;
    }
  
  
  private DefaultPieDataset geraDados(){
      DefaultPieDataset dts = new DefaultPieDataset();
      dts.setValue("Joinvile", new Double(800001.0));
      dts.setValue("Blumenau", new Double(299416.0));
      dts.setValue("Chapecó", new Double(174184.0));
      dts.setValue("Criciúma", new Double(188557.0));
      dts.setValue("Florianopolis", new Double(48161.0));
      return dts;
  }

Um gráfico no JasperReports é uma imagem.

O que você tem que fazer é no seu relatório colocar uma imagem.

O valor da imagem deve ser um parametro que você passa para o relatorio. Exemplo: $P{minhaImagem}

Quando for gerar o relatório você passa o parametro que é a imagem.

Em linhas gerais é isso.

Para um primeiro exemplo coloque a imagem do relatório na banda PAGE_HEADER ou TITLE. Se você colocar no DETAIL ela só vai aparecer se o relatório tiver dados.

Você já sabe o que é um parametro do Jasper? Já sabe mexer mais ou menos? Ou ficou mais perdido do que cego em tiroteio com minha explicacao? :slight_smile:

.

Entendi sim, vou tentar aqui e te falo se consegui, muito obrigado! XD :lol:

Atualmente existe outra maneira fácil, pratica e flexível além do Jasper Report?

Existe o Birt.

E existe também uma API no NextFramework (www.nextframework.org) que facilita enormemente a criação de gráficos e relatórios. Mas essa API ainda não foi documentada. :frowning: