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

API, COM et SDKs Delphi Discussion :

Paramètres spécifiques d'une imprimante depuis Delphi


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Par défaut Paramètres spécifiques d'une imprimante depuis Delphi
    Bonjour à tous.
    J'ai fait le tour de ce que je pouvais trouver comme infos sur l'accès aux paramètres d'impression depuis Delphi. De nombreux sujets montrent bien comment il est possible de sélectionner le format du papier, son orientation, etc.
    En ce qui me concerne, je souhaite modifier des paramètres spécifiques à mon imprimante (une Canon CLC3220 avec un Fiery) : pour tout vous dire, je souhaite pouvoir sélectionner la maquette (image stockée sur l'imprimante sur laquelle devra être imprimé mon document) via un n° (celui-ci se trouve dans le fichier PPD du driver)...
    Existe-t-il donc une structure comparable au DEVMODE de l'API Windows fournissant les variables pour ce type de paramètres ou un autre moyen ?
    Je sais que c'est pas un problème purement Delphi, mais vu que je développe l'application avec ce langage, c'est ici que j'adresse .
    Merci par avance pour vos moindres indications.
    Dites-moi si mon explication manque de précision
    A+
    Adrien

  2. #2
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    A mon avis il te faut une doc particulière par rapport à ton driver...

    Tu veux que cette sélection soit transparente au niveau utilisateur ?
    Car sinon il y a moyen d'ouvrir la fenêtre de configuration de ton imprimante, et de faire faire ce choix à l'utilisateur.
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Par défaut
    Salut Bestiol et merci pour ta réponse.
    L'idée est bien entendue d'éviter à l'utilisateur de passer manuellement par les propriétés (qu'elles soient spécifiques ou non d'ailleurs) de l'imprimante.
    D'après tes indications, je dois m'orienter vers une API propre au driver Fiery ? C'est pas gagné que je trouve ça...
    Merci encore 8)
    A+
    Adrien.

  4. #4
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    J'ai cherché rapidement sur le site de Canon, effectivement c'est pas forcément gagné...

    Si c'est dans un cadre professionnel, tu peux peut-être les contacter pour avoir des détails ?

    A quoi ressemble le contenu du fichier PPD ?
    C'est plutôt du texte, xml, ou plutôt du binaire incompréhensible ?

    edit:
    Je viens de trouver un document sur les spécifications du format PPD [edit: rechercher 'PPD' sur wotsit.org], ça pourrait éventuellement te servir ?
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Par défaut
    Merci encore pour ton soutien !
    C'est effectivement dans un cadre pro.
    Le driver n'est pas spécifique à Canon mais au serveur d'impression Fiery (société EFI, Electronics For Imaging), on avait la même chose sur des Xerox avant. Je pense que c'est encore plus difficile de les contacter.
    Le PPD sert à définir quelles sont les options d'impression proposées par le driver, mais je ne pense qu'il puisse permettre de paramétrer chaque document que je souhaite envoyer à l'imprimante...
    Le lien que m'a donné ne marche pas mais j'ai quand-même réussi à récupere la spec. Merci, je vais continuer mes recherches...
    A+
    Adrien.

  6. #6
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    Pour le lien il fonctionnait que j'ai testé... Wotsit doit empêcher les downloads de l'extérieur.

    Pour ce qui est de ton driver Fiery, EFI propose un SDK :
    http://www.efi.com/products/sdk_overview.fhtml

    Il est payant, mais tu as 90 jours pour voir si c'est ce que tu cherches (personnellement je ne sais pas vraiment...)

    Bonne continuation
    Bestiol.
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Par défaut
    Bien vu le SDK EFI.
    Il m'a l'air bien complet... Reste à le tester !
    Pour te répondre plus précisément sur ce que je cherche :
    Mon application imprime des tableaux dont les fonds de pages (cadres et couleurs au format A3) sont stockés sous forme de maquette sur l'imprimante, l'application n'envoie que les données vers le fond qui correpond au tableau. Actuellement j'utilise autant d'imprimantes qu'il y a de tableau (et fond lui correspondant) préalablement configurées pour cela, et l'application se charge alors de sélectionner la bonne imprimante.
    Cela implique une administration lourde, quoique les imprimantes sont partagées sur un PC (configuration centralisée) car plusieurs PC utilisent l'application pour imprimer. Cette architecture provoque des impressions dans le désordre (du fait que les documents sont imprimés sur des imprimantes distinctes, le spooleur gère ça comme il peut). Je souhaitait donc utiliser qu'une seule imprimante standard sur laquelle les paramètres seraient modifiés par l'application en fonction du tableau à imprimer. C'est peut-être plus clair, mais ça reste très spécifique.
    Merci pour tes indications, j'ai d'abord déposé une requête pour savoir si ce SDK gérait ce dont j'ai besoin.
    A+
    Adrien.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Par défaut
    Salut !
    N'ayant pas eu de réponse de la part d'EFI lorsque je leur demande si leur SDK permet de résoudre mon problème de maquette à partir de mon appli, et ayant toujours des soucis d'impression, j'ai approfondi ma recherche sur l'utilisation de la base de registre Windows.
    Dans la partie HKEY_CURRENT_USER\Printers\DevModePerUser, il y a donc les imprimantes installées en local, avec pour valeur les octets correspondant aux paramètres en cours définis par l'utilisateur.
    Il me suffisait donc de trouver les paramètres qui m'intéressaient pour être en mesure de les changer à chaque impression.
    C'est le seul moyen de pouvoir changer les paramètres spécifique au fournisseur du driver utilisé (les autres sont dans le DEVMODE de l'API).
    Ça marche du toner ! ;-)
    A+
    Adrien.

  9. #9
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    lol

    Ok ok, bravo !

    N'oublie pas le tag
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

Discussions similaires

  1. Paramétrer un driver d'imprimante avec delphi
    Par bremer dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2012, 11h20
  2. Réponses: 4
    Dernier message: 24/03/2011, 08h23
  3. [Batch] Monter une imprimante depuis un serveur
    Par Thomas40 dans le forum Scripts/Batch
    Réponses: 12
    Dernier message: 26/11/2009, 14h17
  4. [VB]Paramètre recto-verso d'une imprimante en VB/API ?
    Par Mustard007 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 19/01/2006, 22h43
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

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