从 Android 打印到 Zebra QLn320

Printing to Zebra QLn320 from Android

我目前正在尝试在支持 bt 的 zebra 打印机上打印保存在我的 android 设备上的图像,并且我已经按照文档中的示例进行操作,但我终究做不到为什么它不打印。 BT 图标在打印机上闪烁了一会儿,所以我知道正在建立连接,但没有任何反应。当我调用 printImage() 函数时,我为它提供了图像的位置以及所需的宽度和高度。我知道该文件存在,因为我可以看到它显示在图像视图中。这是我的代码:

private void printImageTest() {

    new Thread(new Runnable() {
        @Override
        public void run() {

            try {
                Looper.prepare();
                Connection connection = new BluetoothConnection("AC:3F:A4:13:C2:24");
                connection.open();
                ZebraPrinter printer = ZebraPrinterFactory.getInstance(connection);
                printer.printImage(signatureFile, 100, 100);
                Thread.sleep(2000);
                connection.close();
                Looper.myLooper().quit();
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (ZebraPrinterLanguageUnknownException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }).start();
}

请在 Image Load

部分找到 link 到 ZPL 语言 zpl programming guide

连接打印机:

BluetoothConnection printerConnection = new BluetoothConnection(printerAddress);
    printerConnection.open();

    if (!printerConnection.isConnected()) {
        throw new Exception("Could not open bluetooth connection");
    }

    //print
    ZebraPrinter printer = ZebraPrinterFactory.getInstance(printerConnection);
    PrinterLanguage pl = printer.getPrinterControlLanguage();
    if (pl == PrinterLanguage.CPCL) {

    } else {
        //byte[] configLabel = createZplReceipt().getBytes();
        byte[] configLabel = zplContent.getBytes();
        printerConnection.write(configLabel);
    }

    printerConnection.close();

然后将 ZPL 字符串发送到打印机: