IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Forcer l'impression sur une imprimante définie


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 76
    Par défaut Forcer l'impression sur une imprimante définie
    Bonjour à tous

    je fais appel à vous aujourd'hui car je n'ai absolument aucune connaissance en java et j'ai un problème bien particulier, qu'à priori java pourrait résoudre.

    Je développe pour ma petite entreprise un système de gestion en php/mysql. Ce système permet l'impression de tickets de caisse. Or l'impression de ces tickets doit se faire sur une imprimante spécifique, différente de l'impression par défaut. La question : comment forcer le choix de l'imprimante et supprimer la boite de dialogue d'impression ? Si vous avez des pistes ou des tutos, je vous remercie d'avance du temps que vous consacrerez à mon problème

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Salut,

    Il faut faire ca en 2 etapes :
    1 - Recuperer la liste des imprimantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
             DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
             PrintService printService[] = PrintServiceLookup.lookupPrintServices(
                   flavor, pras);
             for (int i = 0; i < printService.length; i++)
             {
                System.out.println(i + ":" + printService[i]);
             }
    De la, tu recuperes le printservice qui t'interesse.

    2 -L'utiliser pour imprimer. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PrinterJob printJob = PrinterJob.getPrinterJob();
             printJob.setPrintable(maClasseAImprimer);
             printJob.setPrintService(printService[1]);
    a+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 76
    Par défaut
    et comment on intègre ce code dans une page web ?

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    On nep eux pas d'une page web forcer l'impression sur une imprimante sélectionnée du poste du client.

    Si on met ce code sur un serveur Java, les imprimantes récupérées par ce code seront celles du serveur et non pas celles du client.

    S'il s'agit d'une application destinée à fonctionner sur un réseau local, et que le serveur connaît le serveur d'impression partagé, ça peut avoir du sens de procéder ainsi mais c'est le seul cas que je vois...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 76
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    On nep eux pas d'une page web forcer l'impression sur une imprimante sélectionnée du poste du client.

    Si on met ce code sur un serveur Java, les imprimantes récupérées par ce code seront celles du serveur et non pas celles du client.

    S'il s'agit d'une application destinée à fonctionner sur un réseau local, et que le serveur connaît le serveur d'impression partagé, ça peut avoir du sens de procéder ainsi mais c'est le seul cas que je vois...
    Je développe un logiciel en php/mysql sur un réseau local, un pc équipé de xampp fait office de serveur et c'est un poste client qui fera office de poste de saisie et qui sera équipé de ladite imprimante.

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Citation Envoyé par shaihulud1979 Voir le message
    et comment on intègre ce code dans une page web ?
    Tu as posté ta question sur un forum Java, pas javascript donc tu as eu une réponse pour un programme Java.
    Peut etre que tu peux t'en tirer en créant une petite applet (mais il y aura surement des problemes de droits pour accéder aux periphériques qui feront que l'applet devra etre signée...)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 76
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Tu as posté ta question sur un forum Java, pas javascript donc tu as eu une réponse pour un programme Java.
    Peut etre que tu peux t'en tirer en créant une petite applet (mais il y aura surement des problemes de droits pour accéder aux periphériques qui feront que l'applet devra etre signée...)
    Bonjour,
    j'ai fait des recherches sur le net avant de poster, le javascript ne permet pas à priori de faire ce que je cherche à faire. Mon souci c'est que comme j'y connais rien en java, je me suis permis de vous déranger à ce sujet, mais c'est vrai qu'en étant plus précis, ma question aurait peut être été plus claire.

  8. #8
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Du code java ne peut pas etre intégré en l'etat sur une page web. Il faut faire une applet. Mais comme je l'ai souligné, il est possible qu'il y ait besoin de signer l'applet pour qu'elle fonctionne. Mais bon, ca me parait compliqué pour ce que c'est. Le client est fatigué au point de ne pas pouvoir cliquer sur OK sur le formulaire d'impression?

Discussions similaires

  1. [WD14] Impression sur une imprimante à tickets
    Par sousana_fly dans le forum WinDev
    Réponses: 3
    Dernier message: 20/10/2010, 19h50
  2. Impression sur une imprimante matricielle
    Par satmbal dans le forum BIRT
    Réponses: 5
    Dernier message: 17/09/2008, 10h03
  3. Impression sur une imprimante sélectionnée au préalable
    Par Spanish_ dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/04/2008, 12h23
  4. Forcer une impression sur une imprimante donnée
    Par Opo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/02/2008, 21h44
  5. Forcer l'impression sur une imprimante
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 21/11/2006, 01h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo