0
我正在使用IPP協議與CUPS進行通信。我有我的打印機安裝在CUPS的所有驅動程序(使用.ppd文件)和打印機獲得最新的固件。CUPS在仍在打印的作業上返回「完成」
當我查詢打印機正在打印的作業時,它表示作業的狀態在打印機甚至完成打印之前是「完成的」。看起來,CUPS在完成「上傳」文件時將該作業標記爲「完成」。
我不希望這種行爲,我基本上需要知道打印機何時打印最後一份作業的紙張。代碼如下所示: 代碼如下所示。 self.printer().ippPrinter()
是node-ipp
的一個實例,它指向一臺打印機。閱讀我正在使用的作業狀態屬性'job-state'
。
var msg = {
"operation-attributes-tag": {
'job-id': id
}
};
self.printer().ippPrinter().execute("Get-Job-Attributes", msg, function(err, res){
var attributes = res['job-attributes-tag'];
self.setAttributes = attributes;
callback.call(self, attributes);
});
有沒有人知道我爲什麼有這個問題或..如何使它工作? 謝謝!
彼得,即使打印機還沒有打印單個頁面(但它已經收到所有輸入數據,我可以稍後要求打印機手動繼續作業),我將以完成的作業結束。我猜想,談論打印機協議(即AppSocket for HP)的[backend](https://www.cups.org/doc/man-backend.html)只能做你提到的'火災遺忘' CUPS只能將該作業標記爲已完成。對於lpd和套接字協議,有可能改變驅動程序這種情況可以改進?不同的驅動程序可以安裝更好的後端?謝謝。 – gabrielgiussi
我不知道lpd或套接字協議提供更好的方式來監視作業。無論如何,打印機也必須支持這種監控。從我的經驗來看,ipp提供了更多選擇,但這可能是一個有偏見的觀點:-) –