How to cancel ongoing print jobs for an Intermec DP printer.
Question
Can BarTender cancel ongoing print jobs for an Intermec printer working with Direct Protocol/Fingerprint?
Applicable to
Intermec DP printer
Drivers by Seagull version 2018.1 and later
Answer
BarTender's "Cancel ongoing print jobs" option won't work with Intermec printers, that is because the command to actually cancel previous jobs is not supported by default.
When printing to an Intermec printer, the SYSVAR(48) value is set to 0 at the beginning of the print job so that the printer does not scan for direct commands when receiving data (at the standard input). This is because binary graphics can hypothetically contain any characters, including printer command such as "^s", so the "Scan for direct commands" property disabled during the print job.
Enabling direct commands
Starting in version 2018.1 of Drivers by Seagull, there is a checkbox which sets the SYSVAR(48) property to 1, effectively enabling the use of additional commands such as the ^a command used to cancel jobs.
You can set this by going to the driver properties, select the "Tools" tab, click on "Configuration > Printer Options" menu item:
The option to activate is "Enable direct-command scanning":
Configuring documents to accept commands
Once this option is active the ^a command can be added to the output generated by BarTender, through a Printer Code Modifier action (accessed from the "File > BarTender Document Options..." dialog, under the "General" tab).
The action should search for SYSVAR(48) = 1, and replace it with SYSVAR(48) = 1^a.