1

我有一台爱普生热敏打印机,型号为 TM-T20,我正在为客户设置。

我们的网络服务器是一个 linux 服务器,客户端机器是 Windows 机器。

是否可以使用 php 直接控制连接到客户端计算机的热敏打印机?

我查看了 javascripts window.print(),但这不是我想要的,如果可能的话,我想绕过打印对话框。

谢谢,托尼

4

3 回答 3

6

不。PHP 与客户端的打印机完全无关。如果打印机连接到运行 PHP 脚本的机器(即服务器)上,那么您可能会做一些事情。事实上,PHP 只向客户端发送文本。从那里,客户端的浏览器和打印机软件必须处理它。

或者,如果 Windows 机器运行的打印服务器公开了 PHP 可以通过网络与之通信的打印机,那么您可以直接与打印机通信。但这不再是正常的 PHP 服务器/客户端关系。

于 2011-04-20T03:08:25.553 回答
2

从 php 打印并不是那么容易,我见过的大多数 web 应用程序都会生成一个 pdf,然后客户端会打印出来。

看看http://www.vendhq.com/他们为商店做了一个销售点应用程序,并且有一些你需要下载和安装的东西才能通过收据打印机打印到账簿。它可能会给你一些启发

于 2011-04-20T03:36:33.920 回答
1

我以前也确实这样做过。这非常棘手,在工作场所的 LAN 上使用 ubuntu 服务器,在运输区域的另一台 ubuntu 计算机上使用热敏打印机。那台计算机正在运行一个监听端口的 php 服务,并且没有头,躲在橱柜里。

LAN 服务器上的企业内部 web php“应用程序”将与他们的电子商务和 UPS.com 协调以打印运输标签。我忘记了 UPS 是如何发送它的,但我们使用 imagemagik 将最终图像调整到完美的像素宽度。然后 LAN 服务器将连接到目标的 php 套接字服务器,并将适当的命令连同图像数据一起发送到打印机所连接的串行端口。

将这种解决方案称为 madhatterey 是一种轻描淡写的说法……但在“运送”订单时神奇地出现标签真是太神奇了。没有打印对话框或任何东西。最便宜的解决方案是获得一个可以运行 Ubuntu 的 Atom 机器,并获得一个带有 ppd 文件的打印机。然后只需正确排队即可。与 linux 中的远程打印概念相同。

您可以从网页的 AJAX 请求执行打印请求,而不需要额外的基础设施(或目标计算机的 php 套接字服务器)。

于 2013-08-03T06:30:31.893 回答