Bonjour
Voila je suis en train de developper une application qui a besoin que l'on puisse imprimer un screenshoot.
Pour la création du screenshoot, cela fonctionne. J'ai testé l'impression sur windows cela marche niquel mais sous linux ou mac,il arrive à recuperer l'imprimante mais il ne lance pas d'impression.De plus je n'ai pas de message d'erreur.
Voici mon code pouvez vous me dire ou l'erreur pourrait se situer
Merci d'avance
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
//recuperation des imprimantes qui sont installées sur l'ordinateur
PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF, pras);
if (pss.length == 0)
//on indique à l'utilisateur qu'il n'y a pas d'imprimante disponible
JOptionPane.showMessageDialog ( null,"Il n'y a pas d'imprimante installee sur votre ordinateur","Impression!!!!",JOptionPane.INFORMATION_MESSAGE );
if(pss.length !=0){
//on affiche une boite de dialogue qui contient toutes les imprimantes installées sur l'ordinateur
int imprim = JOptionPane.showOptionDialog ( null,"Selectionnez votre imprimante:" , "Imprimer", JOptionPane.PLAIN_MESSAGE,JOptionPane.QUESTION_MESSAGE,null, pss, pss[0] );
PrintService ps = pss[imprim];
DocPrintJob job = ps.createPrintJob();
//recuperation de screenshot
FileInputStream fin = new FileInputStream(image);
Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.GIF, null);
//lancement de l'impression sur l'imprimante
job.print(doc, pras);
//on indique que l'impression est lancée sur l'imprimante selectionnée
JOptionPane.showMessageDialog ( null,"Impression en cours sur "+ps ,"Impression",JOptionPane.INFORMATION_MESSAGE );
//fermeture du fichie
fin.close();
}
}//try