网站到POS打印机


Website to POS printer

我正在寻找POS打印的解决方案。

场景如下:

一家餐厅目前有一个POS系统正在运行,他们从店内的ipad上接受订单,并有一个网络设置来处理订单,并在厨房的热敏打印机上自动打印出来(很酷吧?)无论如何,这家餐厅也有一个网站的在线订购(写在PHP),必须通过电子邮件手动检查。这家餐厅希望他们的在线系统能自动将每一份订单发送到打印机上。

我必须补充一点,我没有参与他们网站或内部订购系统的开发。我以前没有使用过PHP到POS系统-这是可能的吗?将数据从网站表单自动发送到POS打印机的替代解决方案是什么?

php网站上的Webservice,带有是否处理的状态标志。每隔x分钟从内部应用程序/内部应用程序查询web服务(1分钟可能足够)列出所有未处理的订单,并在检索时将其标记为已处理(hack,但足够)

c#/java/c++等将最好地避免基于web的无法访问本地打印机接口的问题/队列应用程序简单地从web服务获取结果集并格式化/打印它。

相当简单,大概20行php代码和不到100k的c#代码就可以了

我会少考虑打印机,多考虑如何与他们使用的POS软件进行交互。找出制造商、产品名称和版本号(如果可以的话)。然后与制造商联系,看看他们是否有SDK或API,你可以挂钩。

当涉及到实际连接到网站时,我不会直接从您的PHP页面调用到他们的POS系统。即使可能,这种紧密耦合也意味着如果POS系统脱机或无法访问,则网站将被破坏。

相反,使用数据库或排队系统来存储来自网站的订单。编写一些中间件(例如守护进程或服务),它们将从数据库或队列中读取数据,并使用它们的SDK或API将订单提供给POS系统。

从长远来看,保持这些系统解耦将为您节省大量时间和金钱。如果没有它,您肯定会遇到可伸缩性问题。

想一下——如果你直接写到打印机,如果两个订单同时进来会发生什么?票证会被两个订单的数据弄乱吗?一个订单会失败而另一个订单会通过吗?这种情况比你想象的更有可能发生,因为餐馆在高峰时段往往很忙。去问问那些在超级碗周日在披萨外卖店工作过的人。

如果Tablet应用程序确实通过WIFI连接到已配置的网络打印机,并且打印机只是网络连接,并且没有其他PC,那么这意味着您有更多的工作要做。您可以采用几种方法。无论哪种方式,你都必须在现场有一台个人电脑。如果您可以从web浏览器打印到本地网络上的网络打印机,则可以使用简单的方法。如果您设置了一台具有Web应用程序访问权限的PC,您可以在本地网络上配置相同的网络打印机,然后只需创建一个html页面,使用样式表media=print适当地格式化顺序,然后在单击按钮时调用javascript print应该就可以了。这需要一台登录到网站的PC机,一个人管理订单并点击打印,以便使用标准方法将订单数据发送到打印机。第二种方法是识别打印机制造商,下载打印机型号的POS驱动程序,并编写一个类来处理向打印机获取、排队和发放发票,然后创建一个计划作业,将订单写入打印机,类似于服务。这也需要一台现场PC,但不需要专人监控订单和打印队列。第二种方法将花费客户大量的资金来开发。