某小票打印机打印接口开发文档

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\n";
$content .= "^B2 测试打印\n";
$content .= "名称      单价  数量 金额\n";
$content .= "--------------------------------\n";
$content .= "饭       1.0    1   1.0\n";
$content .= "炒饭      10.0   10  10.0\n";
$content .= "蛋炒饭     10.0   10  100.0\n";
$content .= "鸡蛋炒饭    100.0  1   100.0\n";
$content .= "番茄蛋炒饭   1000.0 1   100.0\n";
$content .= "西红柿蛋炒饭  1000.0 1   100.0\n";
$content .= "西红柿鸡蛋炒饭 100.0  10  100.0\n";
$content .= "备注:加辣\n";
$content .= "--------------------------------\n";
$content .= "^H2合计:xx.0元\n";
$content .= "^H2送货地点:广州市南沙区xx路xx号\n";
$content .= "^H2联系电话:13888888888888\n";
$content .= "^H2订餐时间:2014-08-08 08:08:08\n";
$qrlength=chr(strlen(‘http://www.dzist.com‘));
$content .= "^Q".$qrlength."http://www.dzist.com\n";
$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 个字符,请不要加入中文。打印机会自动更具字符多少转换成大小不一样的条码,智能打印在打印纸中间。使用最为广泛的就是物流、仓库和超市等地方,达到迅速录入或查找等应用。

时间: 2024-11-17 03:19:49

某小票打印机打印接口开发文档的相关文章

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

API开发文档 接口1:打印内容 参数 说明 deviceNo 打印机编号 key 密钥 printContent 打印内容 times 固定传1 调用方式:HTTP POSTURL:http://open.printcenter.cn:8080/addOrder返回结果:JSON字符串 ----------S1小票机返回的结果有如下几种:---------- {"responseCode":0,"msg":"订单添加成功,打印完成","

手机号码归属地接口开发文档及调用实例

手机号码归属地接口开发文档及调用实例,可查询手机号码的归属地信息,实现APP的快速开发! 接口名称:手机号码归属地接口 接口平台:聚合数据 接口地址:http://apis.juhe.cn/mobile/get 支持格式:JSON/XML 请求方式:GET/POST 请求示例:http://apis.juhe.cn/mobile/get?phone=13429667914&key=您申请的KEY 手机号码归属地接口JSON返回示例: { "resultcode":"2

手机客户端接口开发文档模板整理

这是个人整理的手机开发文档模板,方便自己以后编写文档. 大体内容如下,详细在个人csdn中下载: 移动端转发短信上传温湿度信息 移动端负责后台接收温湿度传感器通过短信发来的温湿度和经纬度信息,移动端后台接收后上传web服务器,当然传感器也可通过wifi直接上传web服务器.返回小写true或者false. 请求URL: http://192.168.1.101:8080/RFID/addTransTemperature.action?phoneNumber=123&temperature=12.

聊天工具SDK接口开发文档

http 接口 判断客服是否在线的接口 http://.../user/canChat?uid=..&siteid=..  (GET) 返回参数 { Code{string=} 状态码 正常为0 errno{string=} 错误码 正常为0 messgae{string=} 消息信息 正常为success data { can_chat {string=} 是否可接单:0,不可接待   1,可接待 } } 发送留言信息的接口 http://.../ leavemsg/msg 请求参数(POST

抖音快手短视频去水印API,接口开发文档

开发者官网:http://api.lingquan166.com/ 简介:根据抖音.微视.小红书.皮皮搞笑等APP中复制出来的链接,解析获取短视频的标题.封面.无水印短视频地址等信息. 接口地址: https://api.lingquan166.com/dsp?token=122917VU60151BJHTBI&key=46FDEDB583EKZI42D26392&url=视频链接(不支持中文) 1. 请求方式 GET请求(PHP可用CURL请求) 2. 返回数据 JSON 请求成功返回示

防伪开票组件接口软件方案[开发文档]

 防伪开票组件接口软件方案 一.概况 对于自主或委托开发管理信息系统的企业,我们开发了Windows版防伪开票组件接口软件,将防伪税控开票功能嵌入企业销售软件内,为真正实现防伪税控防伪税控系统与企业管理信息系统的无缝连接创造了必要的条件. 组件调用软件基于 ActiveX规范,提供标准开票界面和后台命令两种接口方式,实现企业日常开具.作废和打印税控发票的功能,为需要实时打印发票或有专门开票要求的企业提供了适宜的解决方案. 对于可以采用通用开票界面的销售软件,推荐使用标准开票界面接口方式,此时

串口小票打印机打印乱码问题

-------------------------------------- editor:YeungChi date:2016/3/29 describe:小票打印机乱码问题 文章内容:一.参数解释 二.串口连接打印机设置案例 -------------------------------------- 串口是一种非常通用的设备通信的协议: 一.参数解释 波特率 这是一个衡量符号传输速率的参数.它表示每秒钟传送的符号的个数.例如300波特表示每秒钟发送300个符号.当我们提到时钟周期时,我们就

C#微信开发文档

C#微信开发文档 开发前准备 微信公众平台链接: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN 开发初期我们使用测试号测试我们的微信功能,微信提供了测试号申请,它具有大部分我们需要的功能 微信公众平台测试号申请网址: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 1:测试号申请申请成功后我们首先要将我们的服务器接入微信接入微信公众平台来进行开

软件开发文档

软件开发文档 软件开发文档是软件开发使用和维护过程中的必备资料.它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料. 软件文档可以分为开发文档和产品文档两大类. 开发文档包括:<功能要求>.<投标方案>.<需求分析>.<技术分析>.<系统分析>.<数据库文档>.<功能函数文档>.<界面文档>.<编译手册>.< QA 文