0、开发者pdf、sdk等资料详见:
http://download.csdn.net/detail/kunyashaw/9376694
1、测试代码
包含文字打印、条形码打印、二维码打印
1 package com.huofu.speechundecrypt; 2 3 import android.content.Context; 4 import android.os.Bundle; 5 import android.support.v7.app.AppCompatActivity; 6 import android.view.View; 7 import android.widget.Button; 8 9 import java.io.UnsupportedEncodingException; 10 11 public class MainActivity extends AppCompatActivity { 12 13 Context ctxt; 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 19 Button btn = new Button(getApplicationContext()); 20 btn.setText("press me"); 21 btn.setOnClickListener(new View.OnClickListener() { 22 @Override 23 public void onClick(View v) { 24 writeDeal(); 25 } 26 }); 27 28 setContentView(btn); 29 ctxt = getApplicationContext(); 30 } 31 32 33 public void writeDeal(){ 34 TscWifiActivity TscEthernetDll = new TscWifiActivity(); 35 TscEthernetDll.openport("192.168.1.200", 9100);//打开指定IP和端口号 36 37 //setup(int width, int height, int speed, int density, int sensor, int sensor_distance, int sensor_offset) 38 //宽度、高度、速度、浓度 39 //sensor为0:sensor_distance 垂直间距距离 sensor_offset垂直间距的偏移 40 //sensor为1:sensor_distance 定义黑标高度和额外送出长度 sensor_offset黑标偏移量 41 TscEthernetDll.setup(40, 30, 4, 4, 0, 5, 0); 42 43 TscEthernetDll.clearbuffer(); 44 45 /*--------------------------标签打印机初始化--------------------------*/ 46 TscEthernetDll.sendcommand("SET TEAR ON\n");//是否将撕纸位置移动到撕纸处 47 //TscEthernetDll.sendcommand("SET COUNTER @1 1\n");//设定计时器及增量 48 TscEthernetDll.sendcommand("SHIFT 10\n"); 49 50 51 /*--------------------------打印文字--------------------------*/ 52 writeDelivery(TscEthernetDll, "", 1);//打印外送标签 53 writePackagedInfo(TscEthernetDll,"",1);//打印打包标签 54 55 56 /*--------------------------打印条形码--------------------------*/ 57 //barcode(int x, int y, String type, int height, int human_readable, int rotation, int narrow, int wide, String string) 58 //x 水平坐标左上角起点 y垂直坐标左上角起点 type条形码类型 height条形码高度 human_readable(0 人眼不可识别 1人眼可识别) rotation条形码旋转角度 59 //narrow 窄bar宽度 wide宽bar宽度 string为要显示的内容 60 TscEthernetDll.barcode(100, 100, "128", 100, 1, 0, 3, 3, "123456789"); 61 TscEthernetDll.printlabel(1, 1);//打印出缓冲区的数据,第一个参数是打印的分数,第二个是没份打印的张数 62 TscEthernetDll.clearbuffer(); 63 64 /*--------------------------打印二维码--------------------------*/ 65 String cmd = "QRCODE 100,10,H,7,M,0,M1,S1,\"hello world\"\n"; 66 TscEthernetDll.sendcommand(cmd); 67 TscEthernetDll.printlabel(1, 1); 68 TscEthernetDll.clearbuffer(); 69 70 TscEthernetDll.closeport(); 71 } 72 73 /** 74 * 打印外送信息 75 * @param TscEthernetDll 76 * @param msg 77 * @param font_size 78 */ 79 public void writeDelivery(TscWifiActivity TscEthernetDll, String msg, int font_size) { 80 try { 81 //String originalText = "TEXT 550,50,\"TSS24.BF2\",180," + font_size + "," + font_size + ",\"" + msg + "\"\n"; 82 String originalText = "TEXT 260,210,\"TSS24.BF2\",180,1,1,\"万通中心店 午餐\"\n"; 83 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 84 85 originalText = "TEXT 220,185,\"TSS24.BF2\",180,1,1,\"300 外送\"\n"; 86 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 87 88 originalText = "TEXT 310,150,\"TSS24.BF2\",180,1,1,\"联系人:张**\"\n"; 89 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 90 91 originalText = "TEXT 310,110,\"TSS24.BF2\",180,1,1,\"电话: 185 1342 ****\"\n"; 92 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 93 94 95 String address = "北京市**区 ****D座 25层 **科技有限公司";//10个汉字换一行 96 97 if (address.length() <= 10) { 98 originalText = "TEXT 310,80,\"TSS24.BF2\",180,1,1,\"地址:\"\""+address+"\"\n"; 99 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 100 101 } else { 102 String tmpString = address.substring(0,9); 103 String tmpString2 = address.substring(9,address.length()); 104 originalText = "TEXT 310,80,\"TSS24.BF2\",180,1,1,\"地址:\"\""+tmpString+"\"\n"; 105 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 106 107 String printText = "TEXT 310,50,\"TSS24.BF2\",180,1,1,\""+tmpString2+"\"\n"; 108 TscEthernetDll.sendcommand((printText.getBytes("gb2312"))); 109 } 110 111 TscEthernetDll.printlabel(1, 1);//打印出缓冲区的数据,第一个参数是打印的分数,第二个是每份打印的张数 112 TscEthernetDll.clearbuffer(); 113 } catch (UnsupportedEncodingException e) { 114 e.printStackTrace(); 115 } 116 } 117 118 119 public static void writePackagedInfo(TscWifiActivity TscEthernetDll, String msg, int font_size) { 120 try { 121 //String originalText = "TEXT 550,50,\"TSS24.BF2\",180," + font_size + "," + font_size + ",\"" + msg + "\"\n"; 122 String originalText = "TEXT 260,210,\"TSS24.BF2\",180,1,1,\"万通中心店 午餐\"\n"; 123 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 124 125 originalText = "TEXT 220,170,\"TSS24.BF2\",180,1,1,\"300 打包\"\n"; 126 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 127 128 originalText = "TEXT 315,130,\"TSS24.BF2\",180,1,1,\"应收:20.5元\"\n"; 129 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 130 131 originalText = "TEXT 170,130,\"TSS24.BF2\",180,1,1,\"实收: 30.5元\"\n"; 132 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 133 134 originalText = "TEXT 315,90,\"TSS24.BF2\",180,1,1,\"优惠: 10元\"\n"; 135 TscEthernetDll.sendcommand((originalText.getBytes("gb2312"))); 136 137 138 TscEthernetDll.printlabel(1, 1);//打印出缓冲区的数据,第一个参数是打印的分数,第二个是每份打印的张数 139 TscEthernetDll.clearbuffer(); 140 } catch (UnsupportedEncodingException e) { 141 e.printStackTrace(); 142 } 143 } 144 }
2、库
1 package com.huofu.speechundecrypt; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.os.Bundle; 6 import android.os.StrictMode; 7 import android.util.L