voilà j'ai une fonction qui me permet d'imprimer une facture qui fonctionne bien sur mon imprimante JET d'encre donc je n'avais pas fait attention et puis j'ai essayé d'imprimer sur une imprimante laser et celle ci dit que le format est incorrecte. SI je force l'impression elle s'imprimme correctement.

Quand la boit de dialogue d'impression de windows s'affiche, si je vais dans le format de la page c'est un format lettre et pas un format A4 quelle en est la cause? peut on le paramèter dans java ?

de plus j'aimerai imprimmer sur 2 pages quand j'ai trop de facture pour que cela rentre dans ma page principale comment faire ca ?

voilà mon code a tout hasard:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
42
43
44
45
package actions;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
 
import fenetres.*;
 
 
public class ActionImprimerFactureA implements ActionListener {
 
	String numeroFacture;
	Fenetre fenetre;
 
	/**
         * Constructeur
         * 
         * @param fenetre fenetre principale du programme
         * @param numeroFacture numéro de clef primaire dans la base de la facture à imprimer
         */
	public ActionImprimerFactureA(Fenetre fenetre,String numeroFacture){
		this.fenetre = fenetre;
		this.numeroFacture = numeroFacture;
	}
 
	/**
         * Méthode appelée lorsque une action est faite sur le bouton concerné.<br>
         * Cette méthode crée un nouvel objet <a href="Activcom/ApercuFacture.html">ApercuFacture</a> et l'affiche à l'écran.
         * 
         */
	public void actionPerformed(ActionEvent e) {
 
			PageFormat pageFormat = new PageFormat();
 
			Paper papier = new Paper();
			papier.setImageableArea(0,0,612,792);
 
			pageFormat.setPaper(papier);
 
			ApercuFacture apercu = new ApercuFacture(numeroFacture,fenetre.compteur);
			apercu.validate();
			apercu.setVisible(true);
		}	
}