Bonjour à tous,
je cherche en fait à imprimer un fichier HTML (représentant un emploi du temps) à partir d'une application Java.
Le programme que j'ai réalisé m'entraine bien la feuille dans l'imprimante, mais n'imprime rien... tout comme si je décide de ne pas imprimer sur une feuille, mais plutôt dans un fichier pdf, alors il me crée le fichier, mais ce dernier est vide !
Voici mon code :
Je suppose donc que c'est au niveau du printable qu'il y le problème, mais je ne vois pas comment m'y prendre
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 public void imprimer() { String nomFichier = "config/config"; ResourceBundle resources = ResourceBundle.getBundle(nomFichier); String fichierHtml = resources.getString("planningHtml"); String PLANNING_FILENAME = (new File(fichierHtml).getAbsolutePath()); // Récupère un PrinterJob PrinterJob pjob = PrinterJob.getPrinterJob(); // Création d'un format de page par défaut PageFormat pf = pjob.defaultPage(); // Orientation de l'impression : PAYSAGE pf.setOrientation(PageFormat.LANDSCAPE); // Définit le contenu à imprimer pjob.setPrintable(new myPrintClass(PLANNING_FILENAME), pf); // Nombre de copies imprimées par défaut pjob.setCopies(1); try { // Affichage d'une boîte de dialogue pour l'impression if (pjob.printDialog()) { // Effectue l'impression pjob.print(); } } catch (PrinterException e){ } }
Classe Printable :
Une idée ?!?
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 public class myPrintClass implements Printable { // Le fichier à imprimer private File file; // Constructeur public myPrintClass(String filename) { File file = new File(filename); this.file = file; } @Override public int print(Graphics gr, PageFormat pf, int index) throws PrinterException { // Par défaut, retourne NO_SUCH_PAGE (= la page n'existe pas) int ret = Printable.NO_SUCH_PAGE; // Un emploi du temps doit être imprimable sur une et une seule page if(index == 1) { /** * A COMPLETER */ ret = Printable.PAGE_EXISTS; } return ret; } }
En vous remerciant d'avance
Partager