Php 网站到POS打印机

Php 网站到POS打印机,php,web-services,web-applications,printing,point-of-sale,Php,Web Services,Web Applications,Printing,Point Of Sale,我正在寻找POS打印的解决方案 情况是: 一家餐厅目前有一个POS系统正在运行,他们从店里的iPad上接受订单,并有一个网络设置来处理订单,并在厨房的热敏打印机上自动打印出来(很酷吧?)。无论如何,这家餐厅还有一个在线订购网站(用PHP编写),必须通过电子邮件手动检查。餐厅希望他们的在线系统能自动将每份订单发送到打印机 我必须补充一点,我没有参与他们网站或内部订购系统的开发。我以前从未使用过PHP到POS系统——这可能吗?自动将数据从网站表单发送到POS打印机的替代解决方案有哪些?php网站上的

我正在寻找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系统

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


请想一想,如果您直接向打印机写信,如果同时收到两份订单,会发生什么情况?这张票会被两份订单的数据弄乱吗?一个订单失败而另一个订单通过了吗?这比你想象的更有可能,因为餐馆在高峰期往往很繁忙。去问问在Superbowl Sunday比萨饼递送餐厅工作过的人。

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

您知道当前系统是如何向打印机发送数据的吗?到目前为止,我只知道没有中央服务器,只有一个无线网络。平板电脑上的应用程序(实际上不是iPad)是用C++编程的,它显然是通过网络直接向打印机发送订单。我原以为需要一个中央服务器来处理数据并进行管理,但这可能也是内置在应用程序中的。最有可能的是,有某种类型的中央应用程序正在接收来自iPad的订单,并将订单发送到打印机。该软件使用打印机制造商特有的POS驱动程序。最好的方法是弄清楚如何让你的web应用程序向应用程序发送请求,就像ipad应用程序发送请求一样。它已经以适当的方式处理订单排队和POS打印机的申请/放行。我会尽我所能利用它。有人知道爱奥尼亚或科尔多瓦是否有用于此的插件吗?假设没有任何书面的内部应用程序。信息是否可以从PHP站点直接发送到打印机?当然,假设它有一个固定的网络。如果Web服务器与打印机位于同一个本地网络内,则只能从网站向打印机发送数据,即:不通过internet。但也有一些警告,因为它很少起作用。php中有一个php.printer模块,但我从未让它工作过。