基于Web的打印到远程本地热敏收据打印机

时间:2015-10-12 09:23:11

标签: php printing escpos

我在PHP apache上有一个基于Web的销售点应用程序。用户从另一台计算机(网络内)访问POS以执行交易,然后在其本地计算机上打印。目前,打印格式为html,在用户计算机上显示和打印。

我计划添加对epson thermal或dot matrix,star等收据打印机的支持。我搜索了可能适合打印到这些打印机的代码escpos php代码。 ({{3}})

我读到此脚本在服务器计算机或联网打印机上本地打印。但问题是,我在客户端使用的打印机只支持USB或串行/并行。如何直接从服务器向客户端打印机发送escpos字符?

2 个答案:

答案 0 :(得分:2)

能够通过Web服务器访问本地USB将是一个巨大的安全风险。例如,想想一个“邪恶”的服务器,它可以在连接到客户端的任何打印机上打印整个维基百科。

我认为没有办法通过简单的基于Web的服务器软件访问任何客户端连接的USB设备。 我建议要么

  1. 获得一张显示为普通打印机的收据打印机 相应地设置收据样式
  2. 改为写一个胖客户端或
  3. 写一个“打印代理”,定期检查服务器是否有本地连接的收据打印机的任何作业。
  4. 无论哪种方式,我都不认为,在这一点上,PHP有很多用处。

    当然,您可以尝试通过IP隧道传输USB,但这对设置和维护来说非常麻烦。

答案 1 :(得分:0)

我知道此回复可能为时已晚,但我仍将答案留给将来需要的人。

您可以在本地计算机上设置一个PHP脚本,一旦按下打印按钮,就可以在远程应用程序中触发该脚本(可能通过打开Java脚本窗口打开本地脚本的URL)。该PHP脚本包含用于使用本地热敏打印机打印收据的代码。您可以通过API从远程应用程序获取数据。这在某种程度上是一个肮脏的解决方案,但我认为这比打开仅用于打印的端口要安全得多。