Как распечатать штрих-код, используя Android Java для Zebra EZ320? - PullRequest
1 голос
/ 09 января 2020

Я понятия не имею, как решить проблему, поэтому, если кому-то удалось распечатать штрих-код на EZ320 и он смог поделиться им, это должно помочь мне. Заранее спасибо.

1 Ответ

1 голос
/ 14 января 2020

Я могу показать вам, как я печатаю этикетки через Bluetooth на принтере Zebra, включая штрих-код 2 из 5. Язык печати - CPCL, и его необходимо установить в микропрограмме принтера через утилиты принтера.

Класс singleton:

import android.bluetooth.BluetoothDevice
import android.os.Looper
import android.util.Log
import com.zebra.sdk.comm.BluetoothConnection

object PrinterUtil {

    fun printCpcl(
        bDevice: BluetoothDevice,
        str1: String,
        str2: String,
        str3: String,
        str4: String,
        str5: String
    ) {
        Thread(Runnable {
            try {
                val printerConnection = BluetoothConnection(bDevice.address)
                Looper.prepare()
                printerConnection.open()
                val cpclData = "! 0 200 200 700 1\r\n" +
                        "LABEL\r\n" +
                        "PAGE-WIDTH 700\r\n" +
                        "COUNTRY USA\r\n" +
                        "BARCODE I2OF5 2 2 100 70 135 " + str1 + "\r\n" +
                        "ST TT0003M_.TTF 16 16 86 240 " + str1 + "\r\n" +
                        "ST TT0003M_.TTF 15 16 70 9 str2: " + str2 + "\r\n" +
                        "ST TT0003M_.TTF 12 16 70 70 " + str3 + "\r\n" +
                        "ST TT0003M_.TTF 13 16 320 177 Str4: " + str4 + "\r\n" +
                        "ST TT0003M_.TTF 14 16 320 127 Str5: " + str5 + "\r\n" +
                        "FORM\r\n" +
                        "PRINT\r\n"
                if (printerConnection.isConnected) {
printerConnection.write(cpclData.toByteArray())
                    Thread.sleep(500)
                    printerConnection.close()
                    Looper.myLooper().quit()
                }
            } catch (e: Exception) {
                e.printStackTrace()
}
        }).start()
    }
}

Метод вызова в действии:

private var btList = BluetoothAdapter.getDefaultAdapter().bondedDevices.toMutableList()
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(getContentView())
        try {
                    PrinterUtil.printCpcl(
                        btList[0],
                        str1,
                        str2,
                        str3,
                        str4,
                        str5
                    )
                } catch (e: ConnectionException) {
                    Log.d(null, "failed to print...")
                }
}

Надеюсь, это поможет.

...