云打印机与传统打印机不同, 传统打印机需要依赖设备驱动、蓝牙连接,专业的人负责打印,而优声云打印机基于云端开发的云打印平台,只需要连接WiFi或4G即可自动接单打印
工具/原料
电脑
优声云测试打印机
使用前准备
1、在云打印开放平台找到appid、appsecret两个打印机接口参数
2、阅读接口文档,了解打印接口所需参数
3、用接口测试工具postman可以测试连接成功。
4、打印接口核心难点sign签名的生成,官网介绍如下图要多个键值对,按照按参数名称ASCII字典顺序排序排序。可以用如下Java代码;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.*;public class MD5Utils { public static void main(String[] args) { SortedMap<Object, Object> parameters = new TreeMap<Object, Object>(); Number appid=;//你自己的 Number timestamp = ; String deviceid = "";//你自己的 String devicesecret = "";//你自己的 String printdata = "测试打印内容"; parameters.put("appid", appid); parameters.put("timestamp", timestamp); parameters.put("deviceid", deviceid); parameters.put("devicesecret", devicesecret); parameters.put("printdata", printdata); String mySign = createSign(parameters, "");//这里就填你提前准备的appsecret System.out.println("我的签名是:"+mySign); } /** * 生成签名 */ public static String createSign(SortedMap<Object,Object> parameters,String key){ StringBuffer sbkey = new StringBuffer(); //1.将所有参与传参的参数按照accsii排序(升序) Set es = parameters.entrySet(); Iterator it = es.iterator(); while(it.hasNext()) { Map.Entry entry = (Map.Entry)it.next(); String k = (String)entry.getKey(); Object v = entry.getValue(); //2.空值不传递,不参与签名组串 if(null != v && !"".equals(v)) { sbkey.append(k + v ); } } sbkey=sbkey.append(key); System.out.println("排序好的顺序为:"+sbkey.toString()); //3.MD5加密,结果转换为大写字符 String sign = getMD5(sbkey.toString()).toLowerCase(); return sign; } /** * 对字符串进行MD5加密 */ public static String getMD5(String str) { MessageDigest digest; try { digest = MessageDigest.getInstance("MD5"); digest.update(str.getBytes()); return new BigInteger(1, digest.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } }}
5、打印结果,如下图,打印排版可以根据接口要求进行相应的调整