Is it possible to print (or not print) a print job based on the printer's current status?
Yes, this is indeed possible.
The Integration Platform will be able to work with the status of a printer in the same way that Printer Maestro shows this information in its "Status" column (see screenshot below as an example of "Offline, Error" and "Ready" status for 2 separate printer instances):
- Create a "Shell Command" Action:
We will need to create a "Shell Command" Action inside the Integration Platform which makes use of the printer driver automation interface (SSDAL):
C:\WINDOWS\ssdal.exe /p %Printer% get status Executing 'Get' command
We will receive two possible replies: Offline or Ready.
The output will be written to the Integration variable %ShellCommandOutput% (or to a different variable if you define so.
** Also, have in mind that I'm using the %Printer% variable in my command line call, which means that I've been running some previous actions within my integration in order to read the printer name out of the trigger file.
- Create a conditional Print Action.
Once the status of the printer is available under the Integration variable %ShellCommandOutput%, I can now run a conditional Print Action (in the screenshot below, you can see that a "Print Command Script" action was used) to e.g. only be executed when the Printer is "Offline".