Bonjour

je voudrais extraire et sélectionner le nombre de page par feuille avant l'impression.

La fonction DeviceCapabilities
http://msdn.microsoft.com/en-us/library/dd183552
semble être au coeur de ce besoin mais quelques contributions sur le Net montrent que ce n'est peut être pas aussi trivial :

http://mc-computing.com/languages/De...abilities.html

Quoiqu'il en soit avec le paramètre DC_NUP et en suivant les prescriptions de ce qui précède (eu égard au dysfonctionnement apparent de windows.pas) le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Printer.GetPrinter(Device, Driver, Port, hDevmode);
(Integer) Nup:=WinSpool.DeviceCapabilities(Device, Port, DC_NUP, nil, nil);
retourne -1 dans Nup quelquesoit l'imprimante par défaut. Evidemment j'ai vérifié par le panneau de configuration que les imprimantes testées permettaient bien d'imprimer plusieurs pages par feuille.

J'ai trouvé des mises en garde par rapport aux pilotes d'impression, en l’occurrence ce qui m'intéresse est de faire fonctionner l'impression avec PDF Creator 1.2.2. Mais la sélection de l'option DC_NUP n'a pas de raison de ne pas fonctionner avec l'API si elle fonctionne par les propriétés "manuelles" de l'imprimante je pense, et ce quelque soit l'imprimante ?