// Screenshot machen
BufferedImage bi = new Robot().createScreenCapture(new Rectangle(getGraphicsConfiguration().getBounds()));
// Screenshot drehen, damit dieser besser auf eine DIN A4 Seite passt
AffineTransform tx = new AffineTransform();
tx.rotate(Math.toRadians(90), bi.getWidth()/2, bi.getHeight()/2);
// bisschen verschieben, damit das bild ganz auf der seite erscheint
tx.translate(200,50);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
bi = op.filter(bi, null);
// Screenshot verkleindern
Image bi_small = bi.getScaledInstance(550,750,Image.SCALE_SMOOTH);
//Image bi_small = bi.getScaledInstance(841,595,Image.SCALE_SMOOTH);
// Druck initialisieren
Toolkit tk = Toolkit.getDefaultToolkit();
PrintJob pj = tk.getPrintJob( new Frame(), "Screenshot", null );
// TODO: bild soll auf eine din a4 seite gedruckt werden
// passt schon eingermassen, aber noch nicht gut
if (pj!=null) {
Graphics g = pj.getGraphics();
//int resolution = pj.getPageResolution();
// Dimension d = pj.getPageDimension();
/* System.out.println( "Resolution : " + resolution + "\n" +
"Width : " + d.width + "\n" +
"Height : " + d.height + "\n" +
"Pixel on page : " +
(resolution * d.width * d.height) );
*/
g.drawImage(bi_small,0, 0, bi_small.getWidth(null),bi_small.getHeight(null),null);
//Auftrag beenden
g.dispose();
pj.end();
}