Se connecter / S'enregistrer
Votre question

[JAVA] Imprimer un fichier texte

Tags :
  • Programmation
Dernière réponse : dans Programmation
6 Février 2007 11:15:00

Bonjour,

J'ai developpé en java une petite fonction qui doit me permettre d'imprimer un fichier texte mais ela ne fonctionne pas!
Je n'ai aucun message d'erreur dans ma console et le fichier se trouve bien en queue dans la liste impirmante mais il ne s'imprime pas...

Savez vous d'ou provient le probleme ?

Voici mon code :

  1. String filename = ("C:\\test.txt");
  2. PrintRequestAttributeSet pras = new
  3. HashPrintRequestAttributeSet();
  4. DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
  5. PrintService printService[] =
  6. PrintServiceLookup.lookupPrintServices(flavor, pras);
  7. PrintService defaultService =
  8. PrintServiceLookup.lookupDefaultPrintService();
  9. PrintService service = ServiceUI.printDialog(null, 200,
  10. 200,printService, defaultService, flavor, pras);
  11. if (service != null) {
  12. DocPrintJob job = service.createPrintJob();
  13. FileInputStream fis;
  14. try {
  15. fis = new FileInputStream(filename);
  16. DocAttributeSet das = new HashDocAttributeSet();
  17. Doc doc = new SimpleDoc(fis, flavor, das);
  18. try {
  19. job.print(doc, pras);
  20. try {
  21. Thread.sleep(10000);
  22. } catch (InterruptedException ex) {
  23. ex.printStackTrace();
  24. }
  25. } catch (PrintException ex) {
  26. ex.printStackTrace();
  27. }
  28.  
  29.  
  30. } catch (FileNotFoundException ex) {
  31. ex.printStackTrace();
  32. }
  33. }

Autres pages sur : java imprimer fichier texte

a b L Programmation
6 Février 2007 18:52:25

Dans SimpleDoc, as-tu implémenté l'interface printable et bien définit la méthode print ?
12 Février 2007 09:00:23

Pourrais tu m'en dire un peu plus parceque ce que j'envoi dans simpledoc c'est le fileinpustream d'un fichier
Contenus similaires
a b L Programmation
12 Février 2007 19:33:35

Ok, je croyais que c'était une classe à toi.
J'ai regardé la doc, tu indiques DocFlavor.INPUT_STREAM.AUTOSENSE qui est un flux d'octet, probablement pour l'imprimante, donc il faudrait y envoyer un fichier du type .ps non ?
Tu devrais tester DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST qui correspond au mime "text/plain" donc du texte normal. Si ça marche, il faut affiner selon l'encodage du fichier .txt
13 Février 2007 16:31:16

je vais tester ca et je tiens au courant!

Merci de ton aide !!
26 Février 2008 13:51:54

J'ai testé ton code. J'ai tout d'abord eu les mêmes problèmes que toi.

J'ai ensuite utilisé le même code pour imprimer une image JPEG et là miracle l'image c'est imprimée et ho surprise, un page contenant les tests d'impression du fichier texte également.

J'ai donc heu l'idée d'ajouter un "Form Feed" 0x0C à la fin du fichier et tout fonctionne à merveille.
27 Mars 2008 21:54:01

Bonjour à tous,

je viens de lire votre conversation et je voulais vous demander s'il était possible que vous me passiez votre code de la fonction imprimer, car je m'en sert pour mon projet.

Merci d'avance pour votre réponse, je met mon adresse mail si vous voulez me l'envoyer par mp.

gmervaux[at]wanadoo.fr
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS