Code: Select all
Document document = new Document(PageSize.A4.rotate());
Font titleFont = new Font(FontFamily.TIMES_ROMAN, 40.f, Font.NORMAL, BaseColor.BLUE);
Font subTitleFont = new Font(FontFamily.TIMES_ROMAN, 25.f, Font.NORMAL, BaseColor.RED);
Font dateFont = new Font(FontFamily.TIMES_ROMAN, 20.f, Font.NORMAL, BaseColor.GREEN);
PdfWriter writer=null;
try {
writer=PdfWriter.getInstance(document,new FileOutputStream(filePath.getText()));
writer.setPageEvent(new Footer(document));
document.open();
document.add(setParagraph("Stoker Monitor Report", titleFont));
document.add(setParagraph(name.getText(), subTitleFont));
document.add(setParagraph(date.getText(), dateFont));
Rectangle page=writer.getPageSize();
float sizeY=page.getHeight();
float sizeX=page.getWidth();
float scale=.5f;
PdfContentByte cb=writer.getDirectContent();
PdfTemplate tp=cb.createTemplate(sizeX,sizeY);
PdfGraphics2D g2d=new PdfGraphics2D(cb,sizeX,sizeY);
tp.setWidth(sizeX);
tp.setHeight(sizeY);
Chart.getInstance().getChart().draw(g2d, new java.awt.geom.Rectangle2D.Float(0, 0,sizeX,sizeY));
g2d.dispose();
Image image=Image.getInstance(tp);
image.scaleToFit(sizeX*scale,sizeY*scale);
image.setAbsolutePosition(sizeX,sizeY-20.f);
document.add(image);
} catch (DocumentException | IOException e1) {
System.err.println("Unable to open " + filePath.getText() + " for writing");
e1.printStackTrace();
}
document.close();