68、TSPL指令集(标签打印机)

跟風遠走 提交于 2020-03-19 19:59:41

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.Log;
  8 import android.view.Menu;
  9 import android.view.View;
 10 import android.widget.Button;
 11 import android.widget.TextView;
 12 
 13 import java.io.FileInputStream;
 14 import java.io.IOException;
 15 import java.io.InputStream;
 16 import java.io.OutputStream;
 17 import java.net.Socket;
 18 
 19 /**
 20  * author: Created by zzl on 15/12/25.
 21  */
 22 
 23 public class TscWifiActivity extends Activity {
 24     private static final String TAG = "THINBTCLIENT";
 25     private static final boolean D = true;
 26     private InputStream InStream = null;
 27     private OutputStream OutStream = null;
 28     private Socket socket = null;
 29     private String printerstatus = "";
 30     private int last_bytes = 0;
 31     private byte[] buffer = new byte[1024];
 32     private byte[] readBuf = new byte[1024];
 33     private Button connect = null;
 34     private Button closeport = null;
 35     private Button sendfile = null;
 36     private Button status = null;
 37     private TextView tv1 = null;
 38 
 39     public TscWifiActivity() {
 40     }
 41 
 42     public void onCreate(Bundle savedInstanceState) {
 43         super.onCreate(savedInstanceState);
 44         this.setContentView(2130903040);
 45         this.tv1 = (TextView) this.findViewById(2131165187);
 46         this.connect = (Button) this.findViewById(2131165184);
 47         this.connect.setOnClickListener(new View.OnClickListener() {
 48             public void onClick(View v) {
 49                 TscWifiActivity.this.openport("192.168.1.40", 9100);
 50                 TscWifiActivity.this.sendcommand("SIZE 3,1\n");
 51                 TscWifiActivity.this.sendcommand("PRINT 5\n");
 52             }
 53         });
 54         this.closeport = (Button) this.findViewById(2131165185);
 55         this.closeport.setOnClickListener(new View.OnClickListener() {
 56             public void onClick(View v) {
 57                 TscWifiActivity.this.closeport();
 58             }
 59         });
 60         this.sendfile = (Button) this.findViewById(2131165186);
 61         this.sendfile.setOnClickListener(new View.OnClickListener() {
 62             public void onClick(View v) {
 63                 TscWifiActivity.this.openport("192.168.1.58", 9100);
 64                 TscWifiActivity.this.downloadpcx("UL.PCX");
 65                 TscWifiActivity.this.downloadbmp("Triangle.bmp");
 66                 TscWifiActivity.this.downloadttf("ARIAL.TTF");
 67                 TscWifiActivity.this.setup(70, 110, 4, 4, 0, 0, 0);
 68                 TscWifiActivity.this.clearbuffer();
 69                 TscWifiActivity.this.sendcommand("SET TEAR ON\n");
 70                 TscWifiActivity.this.sendcommand("SET COUNTER @1 1\n");
 71                 TscWifiActivity.this.sendcommand("@1 = \"0001\"\n");
 72                 TscWifiActivity.this.sendcommand("TEXT 100,300,\"3\",0,1,1,@1\n");
 73                 TscWifiActivity.this.sendcommand("PUTPCX 100,300,\"UL.PCX\"\n");
 74                 TscWifiActivity.this.sendcommand("PUTBMP 100,520,\"Triangle.bmp\"\n");
 75                 TscWifiActivity.this.sendcommand("TEXT 100,760,\"ARIAL.TTF\",0,15,15,\"THIS IS ARIAL FONT\"\n");
 76                 TscWifiActivity.this.barcode(100, 100, "128", 100, 1, 0, 3, 3, "123456789");
 77                 TscWifiActivity.this.printerfont(100, 250, "3", 0, 1, 1, "987654321");
 78                 TscWifiActivity.this.printlabel(10, 1);
 79                 TscWifiActivity.this.sendfile("zpl.txt");
 80                 TscWifiActivity.this.closeport();
 81             }
 82         });
 83         this.status = (Button) this.findViewById(2131165188);
 84         this.status.setOnClickListener(new View.OnClickListener() {
 85             public void onClick(View v) {
 86                 String QQ = TscWifiActivity.this.batch();
 87                 TscWifiActivity.this.tv1.setText(QQ);
 88             }
 89         });
 90     }
 91 
 92     public void onStart() {
 93         super.onStart();
 94         Log.e("THINBTCLIENT", "++ ON START ++");
 95     }
 96 
 97     public void onResume() {
 98         super.onResume();
 99         Log.e("THINBTCLIENT", "+ ON RESUME +");
100         Log.e("THINBTCLIENT", "+ ABOUT TO ATTEMPT CLIENT CONNECT +");
101     }
102 
103     public void onPause() {
104         super.onPause();
105         Log.e("THINBTCLIENT", "- ON PAUSE -");
106         if (this.OutStream != null) {
107             try {
108                 this.OutStream.flush();
109             } catch (IOException var3) {
110                 Log.e("THINBTCLIENT", "ON PAUSE: Couldn\'t flush output stream.", var3);
111             }
112         }
113 
114         try {
115             this.socket.close();
116         } catch (IOException var2) {
117             Log.e("THINBTCLIENT", "ON PAUSE: Unable to close socket.", var2);
118         }
119 
120     }
121 
122     public void onStop() {
123         super.onStop();
124         Log.e("THINBTCLIENT", "-- ON STOP --");
125     }
126 
127     public void onDestroy() {
128         super.onDestroy();
129         Log.e("THINBTCLIENT", "--- ON DESTROY ---");
130     }
131 
132     public boolean onCreateOptionsMenu(Menu menu) {
133         this.getMenuInflater().inflate(2131099648, menu);
134         return true;
135     }
136 
137     public void openport(String ipaddress, int portnumber) {
138         StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder()).detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
139         StrictMode.setVmPolicy((new android.os.StrictMode.VmPolicy.Builder()).detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());
140 
141         try {
142             this.socket = new Socket(ipaddress, portnumber);
143             this.InStream = this.socket.getInputStream();
144             this.OutStream = this.socket.getOutputStream();
145         } catch (Exception var4) {
146             ;
147         }
148 
149     }
150 
151     public void sendcommand(String message) {
152         byte[] msgBuffer = message.getBytes();
153 
154         try {
155             this.OutStream.write(msgBuffer);
156         } catch (IOException var4) {
157             var4.printStackTrace();
158         }
159 
160     }
161 
162     public void sendcommand(byte[] message) {
163         try {
164             this.OutStream.write(message);
165         } catch (IOException var3) {
166             var3.printStackTrace();
167         }
168 
169     }
170 
171     public String status() {
172         byte[] message = new byte[]{(byte) 27, (byte) 33, (byte) 63};
173 
174         try {
175             this.OutStream.write(message);
176         } catch (IOException var4) {
177             Log.e("THINBTCLIENT", "ON RESUME: Exception during write.", var4);
178         }
179 
180         try {
181             Thread.sleep(1000L);
182         } catch (InterruptedException var3) {
183             var3.printStackTrace();
184         }
185 
186         int tim;
187         try {
188             while (this.InStream.available() > 0) {
189                 this.readBuf = new byte[1024];
190                 tim = this.InStream.read(this.readBuf);
191                 Log.e("","tim is "+tim);
192             }
193         } catch (IOException var5) {
194             var5.printStackTrace();
195         }
196 
197         if (this.readBuf[0] == 2 && this.readBuf[5] == 3) {
198             for (tim = 0; tim <= 7; ++tim) {
199                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 64 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
200                     this.printerstatus = "Ready";
201                     this.readBuf = new byte[1024];
202                     break;
203                 }
204 
205                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 96 && this.readBuf[tim + 5] == 3) {
206                     this.printerstatus = "Head Open";
207                     this.readBuf = new byte[1024];
208                     break;
209                 }
210 
211                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 64 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 96 && this.readBuf[tim + 5] == 3) {
212                     this.printerstatus = "Head Open";
213                     this.readBuf = new byte[1024];
214                     break;
215                 }
216 
217                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 72 && this.readBuf[tim + 5] == 3) {
218                     this.printerstatus = "Ribbon Jam";
219                     this.readBuf = new byte[1024];
220                     break;
221                 }
222 
223                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 68 && this.readBuf[tim + 5] == 3) {
224                     this.printerstatus = "Ribbon Empty";
225                     this.readBuf = new byte[1024];
226                     break;
227                 }
228 
229                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 65 && this.readBuf[tim + 5] == 3) {
230                     this.printerstatus = "No Paper";
231                     this.readBuf = new byte[1024];
232                     break;
233                 }
234 
235                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 66 && this.readBuf[tim + 5] == 3) {
236                     this.printerstatus = "Paper Jam";
237                     this.readBuf = new byte[1024];
238                     break;
239                 }
240 
241                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 65 && this.readBuf[tim + 5] == 3) {
242                     this.printerstatus = "Paper Empty";
243                     this.readBuf = new byte[1024];
244                     break;
245                 }
246 
247                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 67 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
248                     this.printerstatus = "Cutting";
249                     this.readBuf = new byte[1024];
250                     break;
251                 }
252 
253                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 75 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
254                     this.printerstatus = "Waiting to Press Print Key";
255                     this.readBuf = new byte[1024];
256                     break;
257                 }
258 
259                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 76 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
260                     this.printerstatus = "Waiting to Take Label";
261                     this.readBuf = new byte[1024];
262                     break;
263                 }
264 
265                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 80 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
266                     this.printerstatus = "Printing Batch";
267                     this.readBuf = new byte[1024];
268                     break;
269                 }
270 
271                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 96 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
272                     this.printerstatus = "Pause";
273                     this.readBuf = new byte[1024];
274                     break;
275                 }
276 
277                 if (this.readBuf[tim] == 2 && this.readBuf[tim + 1] == 69 && this.readBuf[tim + 2] == 64 && this.readBuf[tim + 3] == 64 && this.readBuf[tim + 4] == 64 && this.readBuf[tim + 5] == 3) {
278                     this.printerstatus = "Pause";
279                     this.readBuf = new byte[1024];
280                     break;
281                 }
282             }
283         }
284 
285         return this.printerstatus;
286     }
287 
288     public String batch() {
289         boolean printvalue = false;
290         String printbatch = "";
291         String stringbatch = "0";
292         String message = "~HS";
293         this.readBuf = new byte[1024];
294         byte[] batcharray = new byte[]{(byte) 48, (byte) 48, (byte) 48, (byte) 48, (byte) 48, (byte) 48, (byte) 48, (byte) 48};
295         byte[] msgBuffer = message.getBytes();
296 
297         try {
298             this.OutStream.write(msgBuffer);
299         } catch (IOException var9) {
300             Log.e("THINBTCLIENT", "ON RESUME: Exception during write.", var9);
301         }
302 
303         try {
304             Thread.sleep(1000L);
305         } catch (InterruptedException var8) {
306             var8.printStackTrace();
307         }
308 
309         int i;
310         try {
311             while (this.InStream.available() > 50) {
312                 this.readBuf = new byte[1024];
313                 i = this.InStream.read(this.readBuf);
314             }
315         } catch (IOException var10) {
316             var10.printStackTrace();
317         }
318 
319         if (this.readBuf[0] == 2) {
320             System.arraycopy(this.readBuf, 55, batcharray, 0, 8);
321 
322             for (i = 0; i <= 7; ++i) {
323                 if (batcharray[i] == 44) {
324                     batcharray = new byte[]{(byte) 57, (byte) 57, (byte) 57, (byte) 57, (byte) 57, (byte) 57, (byte) 57, (byte) 57};
325                 }
326             }
327 
328             stringbatch = new String(batcharray);
329             int var11 = Integer.parseInt(stringbatch);
330             printbatch = Integer.toString(var11);
331             if (printbatch == "99999999") {
332                 printbatch = "";
333             }
334         }
335 
336         return printbatch;
337     }
338 
339     public void closeport() {
340         try {
341             this.socket.close();
342         } catch (IOException var2) {
343             var2.printStackTrace();
344         }
345 
346     }
347 
348     public void setup(int width, int height, int speed, int density, int sensor, int sensor_distance, int sensor_offset) {
349         String message = "";
350         String size = "SIZE " + width + " mm" + ", " + height + " mm";
351         String speed_value = "SPEED " + speed;
352         String density_value = "DENSITY " + density;
353         String sensor_value = "";
354         if (sensor == 0) {
355             sensor_value = "GAP " + sensor_distance + " mm" + ", " + sensor_offset + " mm";
356         } else if (sensor == 1) {
357             sensor_value = "BLINE " + sensor_distance + " mm" + ", " + sensor_offset + " mm";
358         }
359 
360         message = size + "\n" + speed_value + "\n" + density_value + "\n" + sensor_value + "\n";
361         byte[] msgBuffer = message.getBytes();
362 
363         try {
364             this.OutStream.write(msgBuffer);
365         } catch (IOException var15) {
366             var15.printStackTrace();
367         }
368 
369     }
370 
371     public void clearbuffer() {
372         String message = "CLS\n";
373         byte[] msgBuffer = message.getBytes();
374 
375         try {
376             this.OutStream.write(msgBuffer);
377         } catch (IOException var4) {
378             var4.printStackTrace();
379         }
380 
381     }
382 
383     public void barcode(int x, int y, String type, int height, int human_readable, int rotation, int narrow, int wide, String string) {
384         String message = "";
385         String barcode = "BARCODE ";
386         String position = x + "," + y;
387         String mode = "\"" + type + "\"";
388         String height_value = "" + height;
389         String human_value = "" + human_readable;
390         String rota = "" + rotation;
391         String narrow_value = "" + narrow;
392         String wide_value = "" + wide;
393         String string_value = "\"" + string + "\"";
394         message = barcode + position + " ," + mode + " ," + height_value + " ," + human_value + " ," + rota + " ," + narrow_value + " ," + wide_value + " ," + string_value + "\n";
395         byte[] msgBuffer = message.getBytes();
396 
397         try {
398             this.OutStream.write(msgBuffer);
399         } catch (IOException var22) {
400             var22.printStackTrace();
401         }
402 
403     }
404 
405     public void printerfont(int x, int y, String size, int rotation, int x_multiplication, int y_multiplication, String string) {
406         String message = "";
407         String text = "TEXT ";
408         String position = x + "," + y;
409         String size_value = "\"" + size + "\"";
410         String rota = "" + rotation;
411         String x_value = "" + x_multiplication;
412         String y_value = "" + y_multiplication;
413         String string_value = "\"" + string + "\"";
414         message = text + position + " ," + size_value + " ," + rota + " ," + x_value + " ," + y_value + " ," + string_value + "\n";
415         byte[] msgBuffer = message.getBytes();
416 
417         try {
418             this.OutStream.write(msgBuffer);
419         } catch (IOException var18) {
420             var18.printStackTrace();
421         }
422 
423     }
424 
425     public void printlabel(int quantity, int copy) {
426         String message = "";
427         message = "PRINT " + quantity + ", " + copy + "\n";
428         byte[] msgBuffer = message.getBytes();
429 
430         try {
431             this.OutStream.write(msgBuffer);
432         } catch (IOException var6) {
433             var6.printStackTrace();
434         }
435 
436     }
437 
438     public void formfeed() {
439         String message = "";
440         message = "FORMFEED\n";
441         byte[] msgBuffer = message.getBytes();
442 
443         try {
444             this.OutStream.write(msgBuffer);
445         } catch (IOException var4) {
446             var4.printStackTrace();
447         }
448 
449     }
450 
451     public void nobackfeed() {
452         String message = "";
453         message = "SET TEAR OFF\n";
454         byte[] msgBuffer = message.getBytes();
455 
456         try {
457             this.OutStream.write(msgBuffer);
458         } catch (IOException var4) {
459             var4.printStackTrace();
460         }
461 
462     }
463 
464     public void sendfile(String filename) {
465         try {
466             FileInputStream fis = new FileInputStream("/sdcard/Download/" + filename);
467             byte[] data = new byte[fis.available()];
468 
469             while (fis.read(data) != -1) {
470                 ;
471             }
472 
473             this.OutStream.write(data);
474             fis.close();
475         } catch (Exception var4) {
476             ;
477         }
478 
479     }
480 
481     public void downloadpcx(String filename) {
482         try {
483             FileInputStream fis = new FileInputStream("/sdcard/Download/" + filename);
484             byte[] data = new byte[fis.available()];
485             String download = "DOWNLOAD F,\"" + filename + "\"," + data.length + ",";
486             byte[] download_head = download.getBytes();
487 
488             while (fis.read(data) != -1) {
489                 ;
490             }
491 
492             this.OutStream.write(download_head);
493             this.OutStream.write(data);
494             fis.close();
495         } catch (Exception var6) {
496             ;
497         }
498 
499     }
500 
501     public void downloadbmp(String filename,Context ctxt) {
502         try {
503             //String name =  android.os.Environment.getExternalStorageState()+File.separator+filename;
504             //FileInputStream fis = new FileInputStream(name);//("/sdcard/Download/" + filename);
505             byte[] data = new FileUtils(ctxt).readSDFile(filename).getBytes("gb2312");//new byte[fis.available()];
506             String download = "DOWNLOAD F,\"" + filename + "\"," + data.length + ",";
507             byte[] download_head = download.getBytes();
508 
509             this.OutStream.write(download_head);
510             this.OutStream.write(data);
511         } catch (Exception var6) {
512             Log.e("",""+var6.getMessage());
513         }
514 
515     }
516 
517     public void downloadbmp(String filename) {
518         try {
519             //String name =  android.os.Environment.getExternalStorageState()+File.separator+filename;
520             //FileInputStream fis = new FileInputStream(name);//("/sdcard/Download/" + filename);
521             byte[] data = new FileUtils(getApplicationContext()).readSDFile(filename).getBytes("gb2312");//new byte[fis.available()];
522             String download = "DOWNLOAD F,\"" + filename + "\"," + data.length + ",";
523             byte[] download_head = download.getBytes();
524 
525             this.OutStream.write(download_head);
526             this.OutStream.write(data);
527         } catch (Exception var6) {
528             Log.e("",""+var6.getMessage());
529         }
530 
531     }
532 
533     public void downloadttf(String filename) {
534         try {
535             FileInputStream fis = new FileInputStream("/sdcard/Download/" + filename);
536             byte[] data = new byte[fis.available()];
537             String download = "DOWNLOAD F,\"" + filename + "\"," + data.length + ",";
538             byte[] download_head = download.getBytes();
539 
540             while (fis.read(data) != -1) {
541                 ;
542             }
543 
544             this.OutStream.write(download_head);
545             this.OutStream.write(data);
546             fis.close();
547         } catch (Exception var6) {
548             ;
549         }
550 
551     }
552 }
View Code

 

3、打印效果

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!