Ok, I am using PHP 5.4 and I want to print directly from web server to printer. I am using PHP module php_printer.dll.
The function is work well. And I see in printer queue, the data is in, but hang in status "sent to printer"
Here is the code
$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...";
There is no error in screen or logs file in Apache, so i assume the PHP code run well. And I see the data is in Windows print spooler. The problem is it stuck in there, and it cannot produce the output from printer.
I assume the problem is because the windows permission problem (I am using windows 8, test in windows 7 or XP cannot work too). I have 4 test printer: 1. HP Laser Jet 401, 2. PDF Printer, 3. Windows Fax, 4. XPS document writer.
My computer cannot print to all the 4 printers. I test in other computer, it can print to printer number 1, but the other cannot.
The status is only "Sent to printer". If it is printing, the status is "spooling"
I attach the screenshot the queue data in spool printer.
And this is the screenshot that success spooler (I test with print normal, ctrl+p and print)
Any help will be appreciated. Thanks!