2015-03-13 3 views
2

Je développe le client d'impression à distance (application native de Win32). Il imprime simplement les fichiers qui proviennent du serveur. Je souhaite avoir la possibilité de vérifier par programme si l'imprimante prend en charge Postscript avant de lui envoyer des données.Comment déterminer le support postscript de l'imprimante à l'aide de l'API Win32?

Comment cela peut-il être fait?

GETTECHNOLOGY échapper ne aide pas beaucoup. Dites qu'il renvoie "PCL XL" pour les imprimantes HP qui prennent également en charge Postscript.

Répondre

2

Je ne pense pas qu'il existe un moyen d'être certain de l'API Win32 qu'une imprimante est une imprimante PostScript, si elle accepte plusieurs langages de description de page.

L'une des raisons est qu'il n'y a aucun moyen de changer de langue dans PostScript, alors que est possible sur les imprimantes PCL. Les imprimantes PCL/PostScript apparaissent donc en tant qu'imprimantes PCL et vous permettent de passer en PostScript en envoyant le code approprié.

Avez-vous essayé d'envoyer POSTSCRIPT_IDENITFY? Si le pilote ne supporte pas cela, ce n'est probablement pas un pilote PostScript. Je ne suis pas capable de vérifier cela malheureusement.

+0

Triste mais ExtEscape() renvoie 0 pour POSTSCRIPT_IDENTIFY pour notre imprimante locale qui imprime définitivement Postscript. –

+0

Il existe une distinction entre une imprimante prenant en charge PostScript et un pilote d'imprimante PostScript. Je suppose que vous pouvez vérifier le pilote en itérant à travers les fichiers dépendants des pilotes et si un fichier avec une extension .ppd suppose que c'est PostScript. –