mouna_bs
Messages postés3Date d'inscriptionsamedi 13 mai 2006StatutMembreDernière intervention 6 juin 2006
-
6 juin 2006 à 23:45
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 2011
-
7 juin 2006 à 08:45
Salut,
Je voulait intégrer la fonction imprimer dans une interface de chat en java, où le texte à imprimer est le contenu d’une TextArea. J’ai trouvé le code dans http://www.labo-sun.com/ . la méthode de la classe Impression est la suivante :<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
public int print(Graphics g, PageFormat pf, int indexPage)
{
If (indexPage > 0) return NO_SUCH_PAGE;
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.black);
g2.setFont(new Font("Times New Roman", 1, 12));
g2.drawString( (phrase, 96, 144);
return PAGE_EXISTS;
}
L’action du bouton print est:
PrinterJob tache = PrinterJob.getPrinterJob();
String confText=sendArea.getText();
tache.setPrintable(new Impression(confText));
if(! tache.printDialog()) return;
try {
tache.print();
} catch(Exception e) {
System.out.println("impossible d’imprimer");
}
le problème c’est que le retour à la ligne (\n) n’est pas pris en compte et le contenu de <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:personname w:st="on" productid="la TextArea">la TextArea</st1:personname> est imprimé sur la même ligne! Et s’il dépasse les limites de la feuille, le reste n’est pas imprimé !