JFreeChart no PDF com itext: Como incluir um gráfico dentro de uma tabela do itext?
2 respostas
kicolobo
Gente,
estou desenvolvendo um sistema no qual devem ser gerados alguns relatórios, e, no meio destes relatórios, há alguns gráficos opcionais que podem ou não aparecer abaixo de algumas tabelas.
Já encontrei como incluir gráficos gerados com o JFreeChart em PDF, no entanto, ainda não sei como proceder para incluir um gráfico dentro de uma célula de uma tabela (Table) do itext.
Como devo proceder neste caso?
publicclassChartReport{Documentdocument;publicChartReport(Stringarquivo){PdfWriterwriter;PdfContentBytecontent;PdfTemplatetemplate;Graphics2Dgraphics;Rectangle2Drectangle;JFreeChartchart;DefaultCategoryDatasetdataSet;document=newDocument();try{writer=PdfWriter.getInstance(document,newFileOutputStream(arquivo));Rectanglepgz=writer.getPageSize();intx1=0;inty1=0;intx2=(int)pgz.getWidth();inty2=(int)pgz.getHeight();document.open();content=writer.getDirectContent();template=content.createTemplate(x2,y2);graphics=template.createGraphics(x2,y2);rectangle=newRectangle2D.Double(x1,y1,x2,y2);dataSet=newDefaultCategoryDataset();dataSet.setValue(68,"Buscadores","Google");dataSet.setValue(15,"Buscadores","Yahoo");dataSet.setValue(10,"Buscadores","Buscape");dataSet.setValue(1,"Buscadores","Snipplr");dataSet.setValue(6,"Buscadores","SunSearch");chart=ChartFactory.createBarChart("Teste do JFreeChar + iText","Buscadores","Percentual de Mercado",dataSet,PlotOrientation.VERTICAL,true,true,true);chart.draw(graphics,rectangle);graphics.dispose();content.addTemplate(template,0,0);document.close();}catch(FileNotFoundExceptione){e.printStackTrace();}catch(DocumentExceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){System.out.println("Gerando ChartReport...");newChartReport("./ChartReport.pdf");System.out.println("ChartReport Gerado!");}}