• 365小票打印机打印接口开发文档


    API开发文档

     
     
    接口1:打印内容
    参数 说明
    deviceNo 打印机编号
    key 密钥
    printContent 打印内容
    times 固定传1
    调用方式:HTTP POST
    URL:http://open.printcenter.cn:8080/addOrder
    返回结果:JSON字符串
    ----------S1小票机返回的结果有如下几种:---------- {"responseCode":0,"msg":"订单添加成功,打印完成","orderindex":"xxxxxxxxxxxxxxxxxx"} {"responseCode":1,"msg":"订单添加成功,正在打印中","orderindex":"xxxxxxxxxxxxxxxxxx"} {"responseCode":2,"msg":"订单添加成功,但是打印机缺纸,无法打印","orderindex":"xxxxxxxxxxxxxxxxxx"} {"responseCode":3,"msg":"订单添加成功,但是打印机不在线","orderindex":"xxxxxxxxxxxxxxxxxx"} ----------以上情况无须再次发送订单;下面的情况需要进行错误处理---------- {"responseCode":10,"msg":"内部服务器错误;"} {"responseCode":11,"msg":"参数不正确;"} {"responseCode":12,"msg":"打印机未添加到服务器;"} {"responseCode":13,"msg":"未添加为订单服务器;"} {"responseCode":14,"msg":"订单服务器和打印机不在同一个组;"} {"responseCode":15,"msg":"订单已经存在,不能再次打印;"}


    ----------USB小票机返回的结果有如下几种:---------- {"responseCode":0,"msg":"已加入打印队列"} {"responseCode":2,"msg":"服务器处理订单失败"}




    接口2:查询订单是否打印成功
    参数 说明
    deviceNo 打印机编号
    key 密钥
    orderindex 订单索引(orderindex,该值由接口一返回)
    调用方式:HTTP POST
    URL:http://open.printcenter.cn:8080/queryOrder
    返回结果:JSON字符串
    ----------S1小票机返回的结果有如下几种:---------- {"responseCode":0,"msg":"打印成功"} {"responseCode":1,"msg":"正在打印中"} {"responseCode":2,"msg":"打印机缺纸"} {"responseCode":3,"msg":"打印机下线"} {"responseCode":16,"msg":"订单不存在"}




    接口3:查询打印机的状态
    参数 说明
    deviceNo 打印机编号
    key 打印密钥
    调用方式:HTTP POST
    URL:http://open.printcenter.cn:8080/queryPrinterStatus
    返回结果:JSON字符串
    ----------S1小票机返回的结果有如下几种:---------- {"responseCode":1,"msg":"打印机正常在线"} {"responseCode":2,"msg":"打印机缺纸"} {"responseCode":3,"msg":"打印机下线"}



    代码示例

     

    <?php
    header("Content-Type: text/html;charset=utf-8");
    $DEVICE_NO = '123458615';
    $key = '72264';
    $content = "^N1^F1
    ";
    $content .= "^B2 测试打印
    ";
    $content .= "名称      单价  数量 金额
    ";
    $content .= "--------------------------------
    ";
    $content .= "饭       1.0    1   1.0
    ";
    $content .= "炒饭      10.0   10  10.0
    ";
    $content .= "蛋炒饭     10.0   10  100.0
    ";
    $content .= "鸡蛋炒饭    100.0  1   100.0
    ";
    $content .= "番茄蛋炒饭   1000.0 1   100.0
    ";
    $content .= "西红柿蛋炒饭  1000.0 1   100.0
    ";
    $content .= "西红柿鸡蛋炒饭 100.0  10  100.0
    ";
    $content .= "备注:加辣
    ";
    $content .= "--------------------------------
    ";
    $content .= "^H2合计:xx.0元
    ";
    $content .= "^H2送货地点:广州市南沙区xx路xx号
    ";
    $content .= "^H2联系电话:13888888888888
    ";
    $content .= "^H2订餐时间:2014-08-08 08:08:08
    ";
    $qrlength=chr(strlen('http://www.dzist.com'));
    $content .= "^Q".$qrlength."http://www.dzist.com
    ";
    $result = sendSelfFormatOrderInfo($DEVICE_NO, $key, 1,$content);
    var_dump($result);
    function sendSelfFormatOrderInfo($device_no,$key,$times,$orderInfo){ // $times打印次数
        $selfMessage = array(
            'deviceNo'=>$device_no,  
            'printContent'=>$orderInfo,
            'key'=>$key,
            'times'=>$times
        );                
        $url = "http://open.printcenter.cn:8080/addOrder";
        $options = array(
            'http' => array(
                'header' => "Content-type: application/x-www-form-urlencoded ",
                'method'  => 'POST',
                'content' => http_build_query($selfMessage),
            ),
        );
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
        
        return $result;
    }
    
    ?>
    打印机基本指令

    S1小票机2.0以上版本适用

    一、字体放大

    命令^Nn:

    该命令位于所有数据前面,用于控制打印张数,可以不加,不加默认打一张。

    例如:

    ^N5

    打印机打印测试

    Print order data

    ****************

    表示打印 5 张相同订单。

    命令^Hn

    该命令位于每行数据首位,用于控制此行字体纵向放大 n 倍,可以不加,不加默认不放大。

    例如:

    ^H2 放大 2 倍

    此时“放大 2 倍”这几个字会纵向放大 2 倍,效果见下图。

    注意:正常大小的字体,每行最多可以打 16 个汉字或 32 个英文或数字,如果每行超过最大字数限制,会出现多出的字覆盖这行最开始的字,导致看起来乱码,所以使用该命令请确保字数在每行最大字数内,如果超过,请手动回车换行。

    命令^Wn

    该命令位于每行数据首位,用于控制此行字体横向放大 n 倍,可以不加,不加默认不放大。

    例如:

    ^W2 放大 2 倍

    此时“放大 2 倍”这几个字会横向放大 2 倍,效果见下图。

    注意:正常大小的字体,每行最多可以打 16 个汉字或 32 个英文或数字,由于^Wn 命令会横向放大 n 倍,如果每行超过(最大字数/n)限制,会出现多出的字覆盖这行最开始的字,导致看起来乱码,所以使用该命令请确保字数在每行字数在(最大字数/n)内,如果超过,请手动回车换行。如^W4 测试打印机放大,共 7 个汉字,放大后会占用 28 个汉字的位置,已经超过每行最多 16 个汉字。

    命令^Bn

    该命令位于每行数据首位,用于控制此行字体横向纵向同时放大 n 倍,可以不加,不加默认不放大。

    例如:

    ^B2 放大 2 倍

    此时“放大 2 倍”这几个字会横向纵向同时放大 2 倍,效果见下图。

    注意:正常大小的字体,每行最多可以打 16 个汉字或 32 个英文或数字,由于^Bn 命令会横向纵向同时放大 n 倍,如果每行超过(最大字数/n)限制,会出现多出的字覆盖这行最开始的字,导致看起来乱码,所以使用该命令请确保字数在每行字数在(最大字数/n)内,如果超过,请手动回车换行。如 ^B3 测试打印机放大,共 7 个汉字,放大后会占用 21 个汉字的位置,已经超过每行最多 16 个汉字。

    效果图:

    命令^Qn

    该命令位于需要打印的宣传关注二维码链接首位,用于将链接自动转换成二维码,达到宣传关注的目的。n 的值为二维码链接的字符长度,用 ASCII 编码表示。此命令,可以不加,不加默认不打。

    例如:

    ^Q +http://weixin.qq.com/r/2Eg2LkzEKRFWrQhN9123

    此时 http://weixin.qq.com/r/2Eg2LkzEKRFWrQhN9123 的长度为 43,对应 ASCII 值是’+’,计算机可以自动计算长度,这里为了描述清晰,查出 43 对应的 ASCII 字符。此链接经过转换后的二维码效果见下图。

    注意:此二维码最多支持 49 个字符,请不要加入中文。打印机会自动更具字符多少转换成大小不一样的二维码,智能打印在打印纸中间。使用最为广泛的就是微信公众号的关注二维码。

    命令^Pn

    该命令位于需要打印的动态支付二维码链接首位,用于将链接自动转换成二维码,达到支付宝等支付的目的(支付成功后,此二维码失效,即:扫描第二次不起作用)。n 的值为二维码链接的长度,用 ASCII 编码表示。此命令,可以不加,不加默认不打。

    例如:

    ^P(https://qr.alipay.com/pmr1bs2a1i1udbumf7

    此时“https://qr.alipay.com/pmr1bs2a1i1udbumf7”的长度为 40,对应 ASCII 值是’(’,计算机可以自动计算长度,这里为了描述清晰,查出 40 对应的 ASCII 字符。此链接经过转换后的支付二维码效果见下图。

    注意:此动态支付二维码最多支持 49 个字符,请不要加入中文。打印机会自动更具字符多少转换成大小不一样的二维码,智能打印在打印纸中间。使用最为广泛的就是外卖或用餐结束后,结账时无需再使用现金或者刷卡浪费时间,直接使用支付宝扫描,输入密码支付完成即可,效率将非常高。

    命令^On

    该命令位于需要打印的动态条码(一维码)链接首位,用于将链接自动转换成扫描枪扫描的一维码,达到迅速录入的目的。n 的值为一维码的长度,用

    ASCII 编码表示。此命令,可以不加,不加默认不打。

    例如:

    ^P test12345

    此时“test12345”的长度为 9,对应 ASCII 值是’ ’(水平制表符),计算机可以自动计算长度,这里为了描述清晰,查出 9 对应的 ASCII 字符。此条码转换后的效果见下图。

    注意:此动态条码最多支持 13 个字符,请不要加入中文。打印机会自动更具字符多少转换成大小不一样的条码,智能打印在打印纸中间。使用最为广泛的就是物流、仓库和超市等地方,达到迅速录入或查找等应用。

  • 相关阅读:
    pycharm cannot import name 'imread' from 'scipy.misc报错及解决办法
    顶会热词冲击(二)
    个人总结
    顶会热词冲击(一)
    Android学习——使用http协议访问网络
    python爬取论文
    《程序员修炼之道:从小工到专家》 阅读笔记03
    开课第十四周周总结
    Android学习——播放视频
    Android学习——播放音频
  • 原文地址:https://www.cnblogs.com/txw1958/p/weixin-print-development.html
Copyright © 2020-2023  润新知