Pessoal,
Criei uma classe para gerar meu pdf com itext e funcionou perfeitamente, mais gostaria de saber como inserir um gráfico do Jfrrechart dentro do meu documento pdf.
Criei um metodo para gerar o gráfico DefaultPieDataset, agora não sei como inserir no documento.
document.add(?);
public DefaultPieDataset getTotalizadorGrafico() {
DefaultPieDataset defaultPieDataset = null;
try {
defaultPieDataset = new DefaultPieDataset();
defaultPieDataset.setValue("Abertas", cont0);
defaultPieDataset.setValue("Canceladas", cont1);
defaultPieDataset.setValue("Fechadas", cont2);
} catch (Exception e) {
e.printStackTrace();
}
return defaultPieDataset;
}
Alguem tem um ideia?
Resolvido!!!
/**
* Gráfico totalizador do Relátorio de Ordem de Serviço.
*
* Obs: Totaliza por Estado.
*
*/
public void getTotalizadorGrafico() {
PdfContentByte content;
PdfTemplate template;
JFreeChart chart;
DefaultCategoryDataset dataSet;
Graphics2D graphics;
Rectangle2D rectangle;
try {
int x1 = 0,y1 = 0;
int x2 = 400,y2 = 400;
content = writer.getDirectContent();
template = content.createTemplate(x2, y2);
graphics = template.createGraphics(x2, y2);
rectangle = new Rectangle2D.Double(x1, y1, x2, y2);
dataSet = new DefaultCategoryDataset();
dataSet.setValue(cont0, "Status", "Aberto");
dataSet.setValue(cont1, "Status", "Cancelado");
dataSet.setValue(cont2, "Status", "Fechada");
chart = ChartFactory.createBarChart("Totalizador por Estado", null , null , dataSet, PlotOrientation.VERTICAL, true, true, true);
chart.draw(graphics, rectangle);
graphics.dispose();
content.addTemplate(template, 0, 0);
} catch (Exception e) {
e.printStackTrace();
}
}