1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
public GenerePdf()
{
Document document = new Document(PageSize.A4);
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\test.pdf"));
document.addCreationDate();
writer.setPageEvent(this);
document.setMargins(45f,45f,30f,50f);
document.open();
int iHauteurGraphe = 160;
int iLargeurGraphe = 260;
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for(int iCpt = 0; iCpt < 20; iCpt++)
{
dataset.addValue( 10*iCpt, "donnees", ""+iCpt+1 );
}
JFreeChart graphique = ChartFactory.createStackedBarChart( "", "",
"", dataset, PlotOrientation.VERTICAL, false, false, false );
graphique.getTitle().setMargin(2.0,0.0,0.0,0.0);
TextTitle t = new TextTitle("Courbe de rentabilité", new java.awt.Font ("Arial", java.awt.Font.PLAIN, 11));
java.awt.Font fArialGraphe = new java.awt.Font ("Arial", java.awt.Font.PLAIN, 11);
t.setPosition(RectangleEdge.TOP);
t.setWidth(10);
t.setHorizontalAlignment(HorizontalAlignment.CENTER);
t.setMargin(0.0, 0.0, 4.0, 4.0);
t.setPaint(Color.BLUE);
graphique.addSubtitle(t);
CategoryPlot plot = graphique.getCategoryPlot();
Color cBleu = new Color(153,153,255);
plot.getRenderer().setSeriesPaint(0,cBleu);
graphique.setBorderVisible(false);
graphique.setBackgroundPaint(null);
PdfContentByte cb = writer.getDirectContent();
PdfTemplate tp = cb.createTemplate(iLargeurGraphe, iHauteurGraphe);
Graphics2D g2D = tp.createGraphics(iLargeurGraphe, iHauteurGraphe, new DefaultFontMapper());
Rectangle2D r2D = new Rectangle2D.Double( 0, 0, iLargeurGraphe, iHauteurGraphe);
graphique.draw(g2D, r2D);
g2D.dispose();
cb.addTemplate(tp, 260, 100);
}
catch(DocumentException de)
{
System.err.println(de.getMessage());
}
catch(IOException ioe)
{
System.err.println(ioe.getMessage());
}
document.close();
} |
Partager