如何取消 Intermec DP 印表機的進行中列印作業
問題
BarTender 能否取消正在使用 Direct Protocol/Fingerprint 的 Intermec 印表機的列印工作?
適用於
Intermec DP 印表機
Seagull 驅動程式 2018.1 版及以後版本
解答
BarTender 的「取消正在進行的列印工作」選項無法用於 Intermec 印表機,因為預設情況下並不支援實際取消前一個工作的指令。
當列印到 Intermec 印表機時,SYSVAR(48) 的值會在列印工作開始時設為 0,這樣印表機在接收資料時(於標準輸入)就不會掃描直接指令。這是因為二進位圖形資料理論上可能包含任何字元,包括像「^s」這樣的印表機指令,所以在列印工作期間會停用「掃描直接指令」這個屬性。
啟用直接指令
從 Seagull 驅動程式 2018.1 版開始,新增了一個勾選框,可以將 SYSVAR(48) 屬性設為 1,這樣就能啟用額外的指令,例如用來取消工作的 ^a 指令。
你可以在驅動程式屬性中設定這個選項,選擇「工具」標籤,點選「組態 > 印表機選項」選單項目:
要啟用的選項是「啟用直接指令掃描」:
設定文件以接受指令
啟用這個選項後,就可以透過 BarTender 產生的輸出中加入 ^a 指令,方法是在「檔案 > BarTender 文件選項...」對話框的「一般」標籤下,使用印表機程式碼修飾器動作來設定。
這個動作應該搜尋 SYSVAR(48) = 1,並將其取代為 SYSVAR(48) = 1^a。