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
| public void Impression(JPanel tp) {
File fileTemp = new File("temp");
BufferedImage image = new BufferedImage(tp.getWidth(), tp.getHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = image.createGraphics();
tp.paint(g2);
g2.dispose();
try {
ImageIO.write(image, "jpeg", fileTemp);
} catch (IOException e) {
e.printStackTrace();
}
InputStream is = null;
try {
is = new BufferedInputStream(new FileInputStream(fileTemp));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;
Doc myDoc = new SimpleDoc(is, flavor, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
// l'ajout d'attribut par défaut permet de ne pas devoir els //sélectionner dans la boite de dialogue d'impression.
aset.add(new Copies(1));
aset.add(MediaSizeName.ISO_A4);
PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, aset);
PrintService defaultService =
PrintServiceLookup.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200,
printService, defaultService, flavor, aset);
if (service != null) {
DocPrintJob job = service.createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException e) {
ta.append(e.toString() + "\n");
}
}
fileTemp.delete();
} |
Partager