Imprimer de manière conditionnelle en fonction de l’état de l’imprimante avec Integration Builder
Question
Est-il possible d'imprimer (ou de ne pas imprimer) un travail d'impression en fonction de l'état actuel de l'imprimante ?
Réponse
Oui, c'est tout à fait possible.
La plateforme d'intégration peut utiliser l'état d'une imprimante de la même manière que Printer Maestro affiche cette information dans sa colonne "Statut" (voir la capture d'écran ci-dessous pour un exemple de statuts "Hors ligne, Erreur" et "Prête" pour deux instances d'imprimantes différentes) :

- Créer une action "Commande Shell" :
Nous allons devoir créer une action "Commande Shell" dans la plateforme d'intégration qui utilise l'interface d'automatisation du pilote d'imprimante (SSDAL) :
C:\WINDOWS\ssdal.exe /p %Printer% get status Executing 'Get' command
Nous recevrons deux réponses possibles : Hors ligne ou Prête.
Le résultat sera écrit dans la variable d'intégration %ShellCommandOutput% (ou dans une autre variable si vous le définissez ainsi).
** À noter également que j'utilise la variable %Printer% dans ma commande, ce qui signifie que j'ai déjà exécuté certaines actions dans mon intégration pour lire le nom de l'imprimante à partir du fichier déclencheur.
- Créer une action d'impression conditionnelle.
Une fois que le statut de l'imprimante est disponible dans la variable d'intégration %ShellCommandOutput%, je peux alors lancer une action d'impression conditionnelle (dans la capture d'écran ci-dessous, une action "Script de commande d'impression" a été utilisée) pour, par exemple, n'être exécutée que lorsque l'imprimante est "Hors ligne".