好的,我使用的是PHP 5.4,我想直接從Web服務器打印到打印機。我正在使用PHP模塊php_printer.dll。PHP直接打印到本地/網絡打印機(卡在打印後臺處理程序中)
該功能運行良好。我看到在打印機隊列中,數據是,但在狀態掛起「發送到打印機」
這裏是代碼
$printerList = printer_list(PRINTER_ENUM_LOCAL);
var_dump($printerList);
$printerName = $printerList[0]['NAME'];
echo $printerName;
$printer = $printerName;
if($ph = printer_open($printer)) {
$content = "hello";
// Set print mode to RAW and send PDF to printer
printer_set_option($ph, PRINTER_MODE, "RAW");
printer_write($ph, $content);
printer_close($ph);
}
else "Couldn't connect...";
有在Apache的屏幕或日誌文件中沒有任何錯誤,所以我假設PHP代碼運行良好。我看到數據在Windows打印後臺處理程序中。問題是它卡在那裏,它不能產生打印機的輸出。
我假設問題是因爲Windows權限問題(我使用的是Windows 8,在Windows 7或XP中測試也無法工作)。我有4臺測試打印機:1.惠普Laser Jet 401,2. PDF打印機,3. Windows傳真,4. XPS文件編寫器。
我的電腦無法打印到所有4臺打印機。我在其他電腦上測試,它可以打印到打印機號碼1,但其他打印機不能。
狀態只是「發送到打印機」。如果正在打印,狀態爲「假脫機」
我在截斷打印機上附加了截屏隊列數據。
這是截圖,成功後臺處理程序(我與打印正常,Ctrl + P鍵和打印測試)
任何幫助將不勝感激。謝謝!
我很肯定你不能通過線軸。如果可以的話,如果在前一個打印完成之前開始打印作業會發生什麼?您最好研究爲什麼打印作業卡在卷軸中。 – GordonM
嗨@GordonM,看到我的迴應如下 – Jef