我有一台Epson Thermal打印机,型号为TM-T20,我正在为客户设置。
我们的网络服务器是Linux服务器,客户端机器将是Windows机器。
是否可以使用php直接控制连接到客户端计算机的热敏打印机?
我查看了javascripts window.print(),但这不是我想要的,如果可能的话我想绕过打印对话框。
谢谢, 贝
答案 0 :(得分:6)
没有。 PHP与客户端的打印机完全没有任何关系。如果打印机连接到机器上运行PHP脚本(即服务器),那么可能有些事情可以做。实际上,PHP只向客户端发送文本。从那里,客户的浏览器和打印机软件必须处理它。
或者,如果Windows框运行的打印服务器暴露了PHP可以通过网络与之通信的打印机,则可以直接与打印机通信。但这不再是正常的PHP服务器/客户端关系。
答案 1 :(得分:2)
看看http://www.vendhq.com/他们为商店做了一个销售点应用程序,并且需要下载并安装一些东西,通过收据打印机进行打印。它可能会给你一些灵感
答案 2 :(得分:1)
我以前做过这个。这非常棘手,在工作区的局域网上使用ubuntu服务器,在运输区域的另一台ubuntu计算机上使用热敏打印机。那台计算机正在运行一个php服务,听一个端口,无头,藏在橱柜里。
LAN服务器上的业务内部Web php“应用程序”将与其电子商务和UPS.com协调以打印运输标签。我忘记了UPS是如何发送的,但我们使用imagemagik将最终图像调整到完美的像素宽度。然后LAN服务器将连接到目标的php套接字服务器,它会将正确的命令发送到打印机连接到的串行端口,以及图像数据。
称这种解决方案为madhatterey是轻描淡写的......但是,在“发送”订单时,标签显得神奇地显得非常惊人。没有打印对话框或任何东西最便宜的解决方案是获得一个可以运行Ubuntu的Atom盒,并获得一个带有ppd文件的打印机。然后正确排队。与linux中的远程打印相同的概念。
您可以从网页的AJAX请求中执行打印请求,而不需要额外的基础结构(或目标计算机的php套接字服务器)。