Boa tarde pessoal,
Tenho uma aplicação que precisa gerar um gráfico com o jfreechart e
em seguida colocar o mesmo num arquivo .pdf.
Segue abaixo como estou fazendo.
1 - Criei no IReport um .jasper onde coloque um parametro
$P{grafico} do tipo java.io.Image.
2 - Na minha aplicação faço a recuperação do .jasper e em seguida
utilizo o jfreechar para gerar um gráfico assim:
public BufferedImage geraGraficoPdf(HttpServletRequest request, HttpServletResponse response){
JFreeChart jfreechart = createChart(createDataset(meus param));
BufferedImage bi = jfreechart.createBufferedImage(500,220);
return bi;
}
3 - Em seguida:
BufferedImage graficoPizza = geragraficoPdf(meus param);
HashMap map = new HashMap();
map.put("grafico",graficoPizza);
Connection con = null;
JasperPrint print =JasperFillManager.fillReport(stream, map, con);
byte[] bytes = JasperExportManager.exportReportToPdf(print);
if (bytes != null && bytes.length > 0){
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
try{
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
O problema e que não estou conseguindo fazer aparecer no arquivo .pdf o gráfico que foi gerado.
Onde estar errado o codigo acima???