Impression d'un fichier txt en Java

holendorf Messages postés 1 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 9 septembre 2005 - 9 sept. 2005 à 17:58
roydor Messages postés 1 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 18 avril 2012 - 18 avril 2012 à 13:09
Bonjour,



Je cherche à imprimer un fichier texte en Java.



Après de multiples essais, je suis arrivé à la solution suivante :



public static void printTxt(File txtFile) {



PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();



PrinterJob job1 = PrinterJob.getPrinterJob();

job1.printDialog();

PrintService service=job1.getPrintService();



if (service != null) {

DocPrintJob job = service.createPrintJob();

FileInputStream fis;



try {

fis = new FileInputStream (txtFile.getCanonicalPath());

DocAttributeSet das = new HashDocAttributeSet();

Doc doc = new SimpleDoc(fis, flavor, das);

try {

job.print(doc, pras);

} catch (PrintException e) {

e.printStackTrace();

}

}

catch (FileNotFoundException e) {

e.printStackTrace();

}

catch (IOException e) {

e.printStackTrace();

}

}



}



Ca s'imprime correctement, mais ça ne prend pas en compte les options de mise en page que j'ai sélectionnées

dans le printDialog comme par exemple impression en paysage ou en 2 pages par feuilles.



Est-ce que quelqu'un pourrait m'aider ?









Loi de Hofstadter : tout est toujours plus compliqué qu'on le pense même compte tenu de la loi de Hofstadter

1 réponse

roydor Messages postés 1 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 18 avril 2012
18 avril 2012 à 13:09
Salut,
exuse moi mais je ne vois pas dans le code que tu as mis l'attribut des parametre d'impression.

tu dois ajouter les parametres a ton AttributSet selui de document ou selui de printing au choix.

Exemple : das.add(OrientationRequested.LANDSCAPE)

je te propose un site qui explique pas trop mal tout ca : http://manu.kegtux.org/Java/Tutoriels/AWT/Impression.html



Roydor
0
Rejoignez-nous