【问题标题】:How to print from the web to a local thermal printer connected by usb?如何从网络打印到通过 USB 连接的本地热敏打印机?
【发布时间】:2020-12-16 13:29:48
【问题描述】:

首先,对不起我的英语,我已经被这个问题困扰了好几天了。我将评论我的情况:我正在做一个在线订购系统,一旦创建订单,就会触发票据打印。我试过使用谷歌云打印,它可以打印,但它需要很长时间并且它不能正常工作,我尝试了一个名为 mike42 的库,它打印完美但不是来自网站。 该系统在主机中,我正在使用 PHP 和 slim 3,如果你们中的任何人知道如何解决这个问题,我将不胜感激。

我想要的结果(更具体)如下: 受雇用户登录网络(系统托管在主机中),进入订单菜单,当他点击创建订单时,执行此功能并直接在连接到本地机器的热敏打印机上打印票证。仅当网络在本地服务器上时才有效,这不是我想要的。

标题清晰完整。打印必须在客户端浏览器中进行。客户端可以连接到基于云的会计或采购系统,POS 终端打印机通过 USB 端口连接。只需一个浏览器,电脑就可以成为一个零客户端。

【问题讨论】:

  • 这个有点不清楚。您是说涉及三台计算机:(1) 运行下订单的浏览器的计算机,(2) 运行使用传统虚拟主机托管的网站的计算机,(3) 打印机所在的计算机附加在属于网站所属公司的网络上。
  • @Juan 编辑后,我想我指出的第二种可能的解决方案可能最适合这种情况。
  • 非常感谢您的时间和回答,我会按照您的建议尝试 2 选项。

标签: php printing thermal-printer


【解决方案1】:

嗯,PHP 是一种服务器端语言,这意味着它与本地机器的硬件没有通信。

我已经做过类似的工作,有两种可能的解决方案:

1- 在直接连接到打印机的机器上安装 PHP,然后打印,这有点不切实际,因为服务器必须在现场。

2 - 以打印宽度格式的文本生成输出,并使用 window.print() javascript 函数调用打印屏幕,用户只需单击打印。

当我需要它时,我最终选择了第二个替代方案,并且效果很好,将打印尺寸设置正确有点无聊,但效果很好。

【讨论】:

  • “这意味着它与本地机器的硬件没有通信” - 鉴于目标是为在线下的订单打印一张票,这是一个好事物。如果他们想贴在他们发送的包裹上的票从连接到客户计算机的打印机中出来,这对公司没有多大好处!
  • 当然,在我的情况下,标签应该出现在系统用户的打印机上,顺便说一下,这是一个快餐系统。但是,如果我理解正确,它需要由系统用户完成打印,但无论是使用系统的客户还是管理员应该有权打印,只有在它是直接连接到运行 PHP 的服务器。
猜你喜欢
  • 2022-08-03
  • 2021-08-29
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
相关资源
最近更新 更多