java report to zpl_android print to ZT410 using zpl language安卓打印到zebra 中文

1.說明

​   android直接列印到zebra

標籤機,使用socket直接發送組織好的zpl代碼到zpl網路印表機。

zpl印表機有內嵌中文字體可用,可以使用印表機控制板打印字體清單

參考zebra zpl打印機附帶光碟pdf文檔zpl

program guide ​

示例代碼請使用android studio

整理

2.示例代碼

package com.example.pzt.printertest;

​import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.media.Image;

import android.os.Looper;

import

android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.text.Layout;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.RelativeLayout;

import android.widget.Toast;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.OutputStream;

import java.net.Inet4Address;

import java.net.InetAddress;

import java.net.Socket;

import java.nio.Buffer;

import java.nio.ByteBuffer;

import java.nio.charset.Charset;

public class MainActivity extends AppCompatActivity

{

Button

btnPrint;

ImageView

layout;

String

tttt;

@Override

protected void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final String item = "P149WGG",

qty = "36",

uom = "Y",

times = "555",

checker = "潘占濤",

lotno =

"S2014130474162",

checkd =

"18-APR-2013",

qrcode =

"60916000150-010",

memo = "粘貼時請確實按壓";

btnPrint = (Button)

findViewById(R.id.btnPrint);

btnPrint.setOnClickListener(new

View.OnClickListener() {

@Override

public

void onClick(View v) {

new Thread(new Runnable()

{

@Override

public void run() {

try

{

Looper.prepare();

final String ip =

"10.52.18.240";

final Integer port =

9100;

Socket client = new

Socket(ip, port); //Port is 910

StringBuilder sb = new

StringBuilder();

sb.append("^XA");

//BEGIN

sb.append("^CWA,Z:NT20WGL4.FNT");

sb.append("^CI28");

sb.append("^LH15,15");

//VIEW

POINT

sb.append("^FO17,16");

//begin a

field at point 17,16

sb.append("^GB650,390,3");

//draw a rectange width 650, height 390, linewidth 3

sb.append("^FS");

//end a field

//item-code

sb.append("^FT40,80");

sb.append("^A0N,65,85");

sb.append("^FD");

sb.append(item);

sb.append("^FS");

//qty

sb.append("^FT40,170");

sb.append("^A0N,80,80");

sb.append("^FD");

sb.append(qty);

sb.append("^FS");

//uom

sb.append("^FT200,170");

sb.append("^A0N,65,65");

sb.append("^FD");

sb.append(uom);

sb.append("^FS");

//times

sb.append("^FT270,170");

sb.append("^A0N,65,65");

sb.append("^FD");

sb.append(times);

sb.append("^FS");

sb.append("^FT260,175");

sb.append("^A0N,65,65");

sb.append("^GB" +

(times.length() * 40 + 10) + ",60,3"); //draw a rectange width 650,

height 390, linewidth 3

sb.append("^FS");

//checker

sb.append("^FT650,190,1");

sb.append("^AAN,45,30");

sb.append("^FD");

sb.append(checker);

sb.append("^FS");

//lotno

sb.append("^FT40,260");

sb.append("^A0N,45,35");

sb.append("^FD");

sb.append(lotno);

sb.append("^FS");

//checkdate

sb.append("^FT650,260,1");

sb.append("^A0N,45,30");

sb.append("^FD");

sb.append(checkd);

sb.append("^FS");

//memo

sb.append("^FT190,380");

sb.append("^AAN,45,45");

sb.append("^FD");

sb.append(memo);

sb.append("^FS");

//qr-code

sb.append("^FT40,320");

sb.append("^A0N,20,20");

sb.append("^FD");

sb.append(qrcode.toString());

sb.append("^FS");

//qr-code-img

//TOP-RIGHT

sb.append("^FT660,110,1");

sb.append("^BQN,2,3,M,A");

sb.append("^FDQA,");

sb.append(qrcode.toString());

sb.append("^FS");

//BOTTOM-RIGHT

sb.append("^FT660,400,1");

sb.append("^BQN,2,3,M,A");

sb.append("^FDQA,");

sb.append(qrcode.toString());

sb.append("^FS");

//BOTTOM-LEFT

sb.append("^FT40,400");

sb.append("^BQN,2,3,M,A");

sb.append("^FDQA,");

sb.append(qrcode.toString());

sb.append("^FS");

//END

sb.append("^XZ");

byte[] mybytearray =

sb.toString().getBytes();

OutputStream outputStream =

client.getOutputStream();

outputStream.write(mybytearray, 0, mybytearray.length); //write

file to the output stream byte by byte

outputStream.flush();

outputStream.close();

client.close();

} catch

(Exception e) {

e.printStackTrace();

}

}

}).start();

}

});

}

}

3.打印效果​

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值