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

Windows Discussion :

Modifier les réglages de l'imprimante


Sujet :

Windows

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut Modifier les réglages de l'imprimante
    Comme je développe sous Delphi 7 la question peut se poser du choix du forum. Toutefois il ne semble pas que dans cet EDI on puisse faire grand chose avec le contrôle TPrinter.

    je pense donc que la question se situe plutôt au niveau des API Windows.

    Il existe une manière relativement simple de déterminer la capacité d'une imprimante à grouper plusieurs feuilles dans une page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DeviceCapabilities(Handle, Array, 33, Port, nil);
    qui retourne dans Array la liste des "groupages" possibles.

    Mais après avoir écumé le web je ne trouve nul part de moyen de SPECIFIER une des valeurs possibles.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 698
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 698
    Points : 13 137
    Points
    13 137
    Par défaut
    Certains préfèrent à chaque accès contrôler les capacités de l'imprimante et si possible la configurer "on-the-fly". Perso, je pars du principe qu'on ne change pas d'imprimante tous les jours et qu'il est plus simple de mémoriser une configuration précise pour une utilisation définie et de la restaurer au besoin

    Si ça t'intéresse, un petit composant (Delphi) qui te permet de sélectionner ses caractéristiques à travers sa page de config standard (par l'intermédiaire d'un TPrinterSetupDialog), de les sauvegarder dans un fichier et de les rappeler juste avant la tâche d'impression.

    Le port lui-même est définie dans le fichier. Dans le cas de plusieurs imprimantes, le simple chargement d'un fichier suffira à rediriger la sortie sur l'imprimante A ou B sans codage supplémentaire. (aucun accès à Printer nécessaire)

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut
    Oui chacun fait chez soi comme il veut.

    Mais quand il s'agit d'un programme qui s’exécute sur divers ordinateurs reliés à diverses imprimantes et que de plus on veut donner le choix d'imprimer une page ou x par feuille, selon les possibilités de l'imprimante au gré des besoins de l'utilisateur c'est un réglage "au vol" qui s'impose.

    Du coup la mémorisation/rappel de propriétés (liées à une imprimante donnée) n'est pas pertinente mais merci tout de même car je n'avais sans doute pas été assez précis dans mon exposé... et ça peut servir !

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 698
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 698
    Points : 13 137
    Points
    13 137
    Par défaut
    C'est ton choix, pas de soucis, mais rien n'est imposé

    Pense simplement que le système n'est pas figé. Il s'agit simplement de mettre la gestion à un autre niveau (choix du fichier préconfiguré en fonction de la tâche et/ou de l'emplacement)

    Il n'y a rien de plus détestable que de recommencer plusieurs fois le travail parce qu'un collègue a décider de changer l'orientation ou la résolution par défaut (Zut, j'y avais pas pensé) ou 5 ans plus tard (!) de ressortir les vieux outils pour recompiler l'application parce qu'on a changé d'imprimante et que celle-ci est multi-bac (mes états s'impriment sur les enveloppes ! Re-zut )

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut
    Mais justement, il s'agit de pouvoir imprimer en multi feuille/page avec un logiciel déterminé (le mien) et d'imprimer autrement avec tous les autres sans que l'utilisateur n'aie rien d'autre à faire que de paramétrer l'imprimante à travers mon logiciel une fois pour toutes.

    Comme par ailleurs je ne sais pas à l'avance avec quelle imprimante les utilisateurs travaillent il est impossible de définir des profils chargeables.

    Il ne s'agit donc pas d'un choix philosophique mais d'une contrainte fonctionnelle. J'envisage de générer directement les feuilles à imprimer en différentes tailles à divers endroits de la page par la fonction Canvas.StretchDraw du TPrinter. Mais je me désole à l'idée que les imprimantes font ce travail elle mêmes !

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 698
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 698
    Points : 13 137
    Points
    13 137
    Par défaut
    Citation Envoyé par frantzgac Voir le message
    Mais justement, il s'agit de pouvoir imprimer en multi feuille/page avec un logiciel déterminé (le mien) et d'imprimer autrement avec tous les autres
    Tu mélanges tout
    TPrinter n'affecte que ton application et non les réglages par défaut de l'imprimante et je ne fais rien de plus que l'initialiser !

    Citation Envoyé par frantzgac Voir le message
    ...sans que l'utilisateur n'aie rien d'autre à faire que de paramétrer l'imprimante à travers mon logiciel une fois pour toutes.
    C'est exactement ce que je dis... à la différence que je laisse l'utilisateur la configurer à 100%.

    Citation Envoyé par frantzgac Voir le message
    Comme par ailleurs je ne sais pas à l'avance avec quelle imprimante les utilisateurs travaillent il est impossible de définir des profils chargeables.
    D'où le 100%

    Citation Envoyé par frantzgac Voir le message
    Il ne s'agit donc pas d'un choix philosophique mais d'une contrainte fonctionnelle. J'envisage de générer directement les feuilles à imprimer en différentes tailles à divers endroits de la page par la fonction Canvas.StretchDraw du TPrinter.
    Raison de plus ! J'aurais encore compris que tu ne t'attaches qu'à certains paramètres si derrière il y avait un outil de reporting qui gère ceux que tu "aurais pu" oublier...

    PS: Puisque tu fais tout à la "pogne", quel est l'intérêt de forcer l'imprimante à imprimer plusieurs pages/feuille puisque c'est toi qui remplis le Canvas à coup de StretchDraw

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Certains préfèrent à chaque accès contrôler les capacités de l'imprimante et si possible la configurer "on-the-fly". Perso, je pars du principe qu'on ne change pas d'imprimante tous les jours et qu'il est plus simple de mémoriser une configuration précise pour une utilisation définie et de la restaurer au besoin
    Oui je réponds un peu tardivement à ce fil mais il me parait important de clarifier un point : Avec une telle phrase, j'ai pensé qu'Andnotor n'avait pas compris qu'il s'agissait de fournir une application à des clients et non de configurer moi même sur mon imprimante. "On ne change pas d'imprimante tous les jours" en effet mais chaque client peut en avoir une différente...

    Cela dit la solution proposée aurait sans doute pu donner satisfaction (je note le petit composant Delphi) mais le client demandeur a trouvé une solution avec un éditeur de PDF.

    Enfin pour répondre à ceci :

    PS: Puisque tu fais tout à la "pogne", quel est l'intérêt de forcer l'imprimante à imprimer plusieurs pages/feuille puisque c'est toi qui remplis le Canvas à coup de StretchDraw
    J'envisageais de faire "à la pogne" PARCE QUE je ne trouvais pas d'autres solutions plus élégante.

    Merci de t'être intéressé à ce sujet.

  8. #8
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 698
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 698
    Points : 13 137
    Points
    13 137
    Par défaut
    Citation Envoyé par frantzgac Voir le message
    Oui je réponds un peu tardivement à ce fil mais il me parait important de clarifier un point : Avec une telle phrase, j'ai pensé qu'Andnotor n'avait pas compris qu'il s'agissait de fournir une application à des clients et non de configurer moi même sur mon imprimante.
    J'avais très bien compris et la solution proposée était la plus générique qui soit puisqu'indépendante du matériel
    Nous appliquons ce principe dans des applications commerciales depuis des années avec succès !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 09/01/2015, 09h35
  2. Réponses: 0
    Dernier message: 24/09/2014, 16h05
  3. Réponses: 4
    Dernier message: 27/05/2004, 15h00
  4. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 10h26
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 15h26

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