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 :

[D7] Savoir si une imprimante sait faire du PostScript (récupérer paramètre spécifiq)


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut [D7] Savoir si une imprimante sait faire du PostScript (récupérer paramètre spécifiq)
    Bonjour à tous,

    J'aimerais parcourir toutes les imprimantes installées sur le poste (facile avec Printers) et savoir lister celles qui savent faire du postScript.

    Y a t-il un moyen pour récupérer de tels paramètres ?

    Une piste:
    Je sais que dans les imprimantes postScript, il y a des paramètres spécifiques dans "Clic droit/propriétés/paramètres/", comme "Convertir le texte gris en postscript", par exemple.
    Y a pas moyen de voir si ce paramètre existe ?

    ... Mais il y a peut être mieux.

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Yes !

    J'ai eureka un truc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    function IsPostScriptPrinter(dc : hdc) : bool;
    var TestInt : integer;
      a : array[0..255] of char;
      err : integer;
      s : string;
    begin
      Result := false;
      TestInt := GETTECHNOLOGY;
      {$IFDEF WIN32}
      if ExtEscape(Dc, QUERYESCSUPPORT, sizeof(TestInt), @TestInt, 0, Nil) > 0 then begin
        Err := ExtEscape(Dc, GETTECHNOLOGY, 0, nil, 256, @a);
      {$ELSE}
      if Escape(Dc, QUERYESCSUPPORT, sizeof(TestInt), @TestInt, Nil) > 0 then begin
        Err := Escape(Dc, GetTechnology, 0, nil, @a);
      {$ENDIF}
        if Err > 0 then begin
          s := UpperCase(StrPas(a));
          if Pos('POSTSCRIPT', s) > 0 then
            result := true;
        end;
      end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if PrintDialog1.Execute then
    if IsPostScriptPrinter(Printer.Handle) then
    ShowMessage('This is a Postscript Printer') else
    ShowMessage('This is not a Postscript Printer');
    end;
    Ca à l'air de fonctionner... Je ne connaissait pas cette classe (PDrvinNT).
    Par curiosité, quelqu'un a une autre méthode ?

  3. #3
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut récupérer le handle d'une imprimante qui n'est pas par défaut
    Juste un truc:

    Comment faire pour récupérer le handle d'une imprimante sans la mettre par défaut ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      for i:=0 to Printer.Printers.Count-1 do begin
        Printer.PrinterIndex := i;
        estPs := IsPostScriptPrinter(Printer.Handle); // Printer.Handle
    Pas comme ça, quoi.

Discussions similaires

  1. [WD17] Savoir si une Imprimante est en ligne
    Par davcaz dans le forum WinDev
    Réponses: 3
    Dernier message: 05/07/2013, 12h46
  2. Réponses: 12
    Dernier message: 17/03/2011, 16h11
  3. Réponses: 1
    Dernier message: 18/03/2009, 00h34
  4. savoir l'état d'une imprimante réseau par SNMP
    Par ryadh.naouar dans le forum Développement
    Réponses: 3
    Dernier message: 20/02/2007, 13h06
  5. [VB6] [Impression] Savoir si une imprimante est installée
    Par Norm59ttp dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 19/12/2002, 09h29

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