API開發文檔
參數 | 說明 |
deviceNo | 打印機編號 |
key | 密鑰 |
printContent | 打印內容 |
times | 固定傳1 |
URL:http://open.printcenter.cn:8080/addOrder
返回結果:JSON字符串
接口2:查詢訂單是否打印成功
參數 | 說明 |
deviceNo | 打印機編號 |
key | 密鑰 |
orderindex | 訂單索引(orderindex,該值由接口一返回) |
URL:http://open.printcenter.cn:8080/queryOrder
返回結果:JSON字符串
接口3:查詢打印機的狀態
參數 | 說明 |
deviceNo | 打印機編號 |
key | 打印密鑰 |
URL:http://open.printcenter.cn:8080/queryPrinterStatus
返回結果:JSON字符串
代碼示例
<?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 個字符,請不要加入中文。打印機會自動更具字符多少轉換成大小不一樣的條碼,智能打印在打印紙中間。使用最為廣泛的就是物流、倉庫和超市等地方,達到迅速錄入或查找等應用。