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
| /*
* Génération du PDF
*/
// dimensions de la page
int width = 840, height = 594;
// marges
int vmargin = 20, hmargin = 20;
Rectangle pageSize = new Rectangle( width, height );
Document pdfout = new Document( pageSize );
PdfWriter writer = PdfWriter.getInstance( pdfout, new FileOutputStream( path ) );
pdfout.open();
pdfout.addTitle( "CA par catégorie" );
PdfContentByte cb = writer.getDirectContent();
// le cadre dans lequel on va dessiner prend toute la page...
Graphics2D g2 = cb.createGraphics( width, height );
// ... mais le graphique compense avec les marges
Rectangle2D rec = new Rectangle2D.Double( hmargin, vmargin, width - 2 * hmargin, height - 2 * vmargin );
chart.draw( g2, rec );
progress.setValue( 1 );
try
{
if( graph )
{
for( i = 0; i < catNames.size(); i++ )
{
pdfout.newPage();
cb.beginText();
cb.setFontAndSize( BaseFont.createFont( BaseFont.TIMES_ROMAN, "UTF-8", false ), 12 );
g2 = cb.createGraphics( width, height );
rec = new Rectangle2D.Double( hmargin, vmargin, width - 2 * hmargin, height - 2 * vmargin );
chronoChart[i].draw( g2, rec );
progress.setValue( i + 1 );
}
}
g2.dispose();
} catch( Exception e )
{
System.out.println( e.getMessage() );
}
pdfout.close(); |
Partager