Bonjour tout le monde.

Comme dit dans le titre, je cherche à imprimer le contenu d'un JEditorPane. Dans ce dernier, je genère du code HTML et je souhaiterais donc imprimer ce dernier et uniquement ce dernier.

Techniquement parlant, j'y arrive mais mon contenu est coupé sur la droite (il manque une colonne dans ma <table>). Voici comment je m'y prends :

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
// Récupère le travail et affiche la boite de dialogue d'impression.
    PrintJob job = getToolkit().getPrintJob(this, "Impression du rapport", null);
    if (job != null) {
	// Recupere le Graphics dans lequel on va ecrire.
	Graphics g = job.getGraphics();
	if (g != null) {
	    // Imprime les composants du jEditorPane1.
	    //this.print(g);
	    this.jEditorPane1.printAll(g);
	    g.dispose();
	}
 
	// On ferme le PrintJob.
	job.end();
    }
Ce qui n'imprime donc bien que le contenu de mon JEditorPane, mais coupé. Du coup, j'ai essayé d'une aute manière :

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
if (Desktop.isDesktopSupported()) {
        if (Desktop.getDesktop().isSupported(java.awt.Desktop.Action.PRINT)) {
            try {
                // TODO : penser à changer le path du fichier.
                File rapportFile = new File(monChemin);
                System.out.println(rapportFile.getAbsolutePath());
 
                FileWriter writer = null;		
                try {
		    writer = new FileWriter(rapportFile.getAbsolutePath());
		    writer.write(this.rapport, 0, this.rapport.length());
 
                    java.awt.Desktop.getDesktop().print(rapportFile.getAbsoluteFile());
                } catch (IOException ioe) {
		    ioe.printStackTrace();
                } catch (Exception e) {
		    e.printStackTrace();
		} finally {
		    if (writer != null)
			writer.close();
                }
            } catch (IOException ioe) {
		ioe.printStackTrace();
            } catch (Exception e) {
		e.printStackTrace();
	    }
	}
	else {
            //La fonction n'est pas supportée par votre systême d'exploitation
	}
    }
    else {
        //Desktop pas supporté par votre systême d'exploitation
    }
Je sauvegarde donc mon contenu dans un fichier HTML et j'essaie d'imprimer ce dernier. Le souci, c'est que je n'arrive pas à imprimer ce fichier (java.io.Exception : Error Message : Erreur inconnue).

Quelqu'un aurait une meilleure solution à me proposer ou une correction à mon code SVP ?

Merci d'avance !

DarkSeiryu