Мы ищем печать на POS-принтере, подключенном к серверу apache. Из-за дизайна приложения и развертывания печать должна производиться с сервера (он должен определять порядок и отправлять на разные принтеры и различные форматы печати... счет, заказы на кухню и т.д.). По этой причине и другие (например, приложение для доступа с iPad, например) мы отбрасываем такие параметры, как апплет QZ-Print, и необходимо, чтобы печать непосредственно на стороне сервера.
Мы много искали и обнаружили, что есть расширение php-printer, но оно устарело и работает только под WIndows.
Мы следовали этому коду: (http://mocopat.wordpress.com/2012/01/18/php-direct-printing-printer-dot-matrix-lx-300/)
$tmpdir = sys_get_temp_dir(); # ambil direktori temporary untuk simpan file.
$file = tempnam($tmpdir, 'ctk'); # nama file temporary yang akan dicetak
$handle = fopen($file, 'w');
$condensed = Chr(27) . Chr(33) . Chr(4);
$bold1 = Chr(27) . Chr(69);
$bold0 = Chr(27) . Chr(70);
$initialized = chr(27).chr(64);
$condensed1 = chr(15);
$condensed0 = chr(18);
$corte = Chr(27) . Chr(109);
$Data = $initialized;
$Data .= $condensed1;
$Data .= "==========================\n";
$Data .= "| ".$bold1."OFIDZ MAJEZTY".$bold0." |\n";
$Data .= "==========================\n";
$Data .= "Ofidz Majezty is here\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "--------------------------\n";
$Data .= $corte;
fwrite($handle, $Data);
fclose($handle);
copy($file, "//localhost/KoTickets"); # Lakukan cetak
unlink($file);
И это работает, но это отправляет простой текст, и нам нужно отправить изображение (логотип) и форматировать более милый счет. Мы попытались создать PDF файл и "отправить" на принтер таким же образом, но просто печатаем пустое.
Я нашел библиотеку для работы с сетевыми принтерами (escpos-php on github), но нам также нужно работать с USB-принтерами, чтобы наши клиенты не могли менять оборудование.
Некоторые идеи, как достичь этого?
Спасибо заранее.