Pour définir la taille de ta feuille il faut rajouter quelques lignes dans ta classe print():
Paper papier = new Paper();
double gauche = 10.0 * 72 / 25.4;
file: //fait une marge de 10 mm (donc 10/25.4 pouces avec un point = 1/72 pouces)
papier.setImageableArea(gauche, 0.0, papier.getWidth() - 2*gauche, papier.getHeight());
pf.setPaper(papier);
file:
printJob.setPrintable(this,pf);
Dans mon cas j'ai fait une marge de coté (gauche et droite de 10 mm, et une marge verticale (haut et bas ) de 0 mm.
Il ne faut pas oublier que tout est spécifié en points et que nous français parlons avec les unités INTERNATIONALES qui sont les millimètres, et que ces *#*! de ricains fonctionnent avec les pouces !!!!
Au final la méthode print() doit être a peut près comme ça :
/** print method **/
public void print() {
annuler = false;
PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pf = printJob.defaultPage();
Paper papier = new Paper();
double gauche = 10.0 * 72 / 25.4;
file: //fait une marge de 10 mm (donc 10/25.4 pouces avec un point =1/72 pouces)
papier.setImageableArea(gauche, 0.0, papier.getWidth() - 2*gauche, papier.getHeight());
pf.setPaper(papier);
file:
printJob.setPrintable(this,pf);
if (printJob.printDialog())
try {
printJob.print();
} catch(PrinterException pe) {
System.out.println("Error printing: " + pe);
}
else annuler = true;
}
Voilà, à plus et bon courage !!!
:question) 8-) 8-) koukounet 8-) 8-) :question)