"为换行,""为切刀指令(主动切纸,仅限切刀打印机使用才有效果) //""为打印LOGO指令(前提是预先在机器内置LOGO图片),""为钱箱或者外置音响指令 //成对标签: //""为居中放大一倍,""为放大一倍,""为居中,字体变高一倍 //字体变宽一倍,""为二维码,""为字体加粗,""为右对齐 //拼凑订单内容时可参考如下格式 //根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式 $orderInfo = '测试打印
'; $orderInfo .= '名称      单价 数量 金额
'; $orderInfo .= '--------------------------------
'; $orderInfo .= '饭       10.0 10 10.0
'; $orderInfo .= '炒饭      10.0 10 10.0
'; $orderInfo .= '蛋炒饭     10.0 100 100.0
'; $orderInfo .= '鸡蛋炒饭    100.0 100 100.0
'; $orderInfo .= '西红柿炒饭   1000.0 1 100.0
'; $orderInfo .= '西红柿蛋炒饭  100.0 100 100.0
'; $orderInfo .= '西红柿鸡蛋炒饭 15.0 1 15.0
'; $orderInfo .= '备注:加辣
'; $orderInfo .= '--------------------------------
'; $orderInfo .= '合计:xx.0元
'; $orderInfo .= '送货地点:广州市南沙区xx路xx号
'; $orderInfo .= '联系电话:13888888888888
'; $orderInfo .= '订餐时间:2014-08-08 08:08:08
'; $orderInfo .= 'http://www.dzist.com';//把二维码字符串用标签套上即可自动生成二维码 //打开注释可测试 wp_print(SN,$orderInfo,2); //===========方法2.查询某订单是否打印成功============= //***接口返回值说明*** //正确例子: //已打印:{"msg":"ok","ret":0,"data":true,"serverExecutedTime":6} //未打印:{"msg":"ok","ret":0,"data":false,"serverExecutedTime":6} //打开注释可测试 //$orderid = "xxxxxxxx_xxxxxxxxxx_xxxxxxxx";//订单ID,从方法1返回值中获取 //queryOrderState($orderid); //===========方法3.查询指定打印机某天的订单详情============ //***接口返回值说明*** //正确例子:{"msg":"ok","ret":0,"data":{"print":6,"waiting":1},"serverExecutedTime":9} //打开注释可测试 //$date = "2017-04-02";//注意时间格式为"yyyy-MM-dd",如2016-08-27 //queryOrderInfoByDate(SN,$date); //===========方法4.查询打印机的状态========================== //***接口返回值说明*** //正确例子: //{"msg":"ok","ret":0,"data":"离线","serverExecutedTime":9} //{"msg":"ok","ret":0,"data":"在线,工作状态正常","serverExecutedTime":9} //{"msg":"ok","ret":0,"data":"在线,工作状态不正常","serverExecutedTime":9} //打开注释可测试 //queryPrinterStatus(SN); function addprinter($snlist){ $content = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_printerAddlist', 'printerContent'=>$snlist ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$content)){ echo 'error'; } else{ echo $client->getContent(); } } /* * 方法1 拼凑订单内容时可参考如下格式 根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式 */ function wp_print($printer_sn,$orderInfo,$times){ $content = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_printMsg', 'sn'=>$printer_sn, 'content'=>$orderInfo, 'times'=>$times//打印次数 ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$content)){ echo 'error'; } else{ //服务器返回的JSON字符串,建议要当做日志记录起来 echo $client->getContent(); } } /* * 方法2 根据订单索引,去查询订单是否打印成功,订单索引由方法1返回 */ function queryOrderState($index){ $msgInfo = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_queryOrderState', 'orderid'=>$index ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$msgInfo)){ echo 'error'; } else{ $result = $client->getContent(); echo $result; } } /* * 方法3 查询指定打印机某天的订单详情 */ function queryOrderInfoByDate($printer_sn,$date){ $msgInfo = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_queryOrderInfoByDate', 'sn'=>$printer_sn, 'date'=>$date ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$msgInfo)){ echo 'error'; } else{ $result = $client->getContent(); echo $result; } } /* * 方法4 查询打印机的状态 */ function queryPrinterStatus($printer_sn){ $msgInfo = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_queryPrinterStatus', 'sn'=>$printer_sn ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$msgInfo)){ echo 'error'; } else{ $result = $client->getContent(); echo $result; } } ?>