我们正在寻找一种方法将打印作业发送到连接在 Apache 运行的 POS 打印机。由于应用程序的设计和部署原因,打印作业应该从服务器端完成(它应该检测订单并将其发送到不同的打印机和不同的打印格式...账单,厨房订单等等)。出于这个原因和其他原因(例如从 iPad 访问应用程序),我们排除了像 QZ-Print applet 这样的选项,需要直接从服务器端打印。
我们进行了大量搜索,并发现有一个名为 php-printer 的扩展,但似乎已经过时,而且只能在 Windows 下运行。
我们遵循了这段代码: (http://mocopat.wordpress.com/2012/01/18/php-direct-printing-printer-dot-matrix-lx-300/)
我们进行了大量搜索,并发现有一个名为 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);
它可以工作,但是这只发送纯文本,我们需要发送图像(logo),并格式化更可爱的账单。我们尝试创建PDF并以相同的方式“发送”到打印机,但只会打印空白。
我找到了一个网络打印机库(在Github上的escpos-php),但我们也需要使用USB打印机,以避免我们的客户更改硬件。
有什么想法如何实现这一点吗?
提前致谢。