在Zebra RW420中,行打印模式在android中不起作用

时间:2014-10-29 10:27:40

标签: android zebra-printers barcode-printing

我正在使用zebra rw420打印机从我的Android手机上打印账单,就像图像一样。enter image description here

当我尝试打印标签时,它工作正常。 但是当我尝试在行式打印模式下打印时,它会打印出空白。 我正在使用的代码是

String cpclConfigLabel = "! U1 setvar {0} {1}, \"device.languages\", \"line_print\"\r\n"
            + "!U1 SETLP 5 2 46\r\n"
            + "AURORA'S FABRIC SHOP\r\n"
            + "!U1 SETLP 5 2 24\r\n" + "123 CASTLE DRIVE";

    try {
        configLabel = cpclConfigLabel.getBytes("US-ASCII");
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
printerConnection.write(configLabel);

我正在使用Zebra sdk的开发者演示,

有谁能告诉我我的代码有什么问题?

2 个答案:

答案 0 :(得分:2)

SDK并非设计用于在线模式下使用打印机。它会在检测到打印机处于线路模式时将其置于ZPL模式。

原因是SDK设置为允许状态检查,模板打印以及打印机处于线路模式时无法正常工作的一些其他功能。

将打印机更改为线路模式就像您尝试做的那样适用于打印部分,但如果您尝试使用状态命令或某些其他SDK功能,您将开始获得例外。

要在ZPL中打印可变长度的收据和发票,您可以执行以下操作:

  1. 将打印机介质模式设置为连续。

  2. 为收据标题,行和页脚创建模板。

  3. 2a上。每个模板都是固定高度,因此为每个模板设置“^ LL”命令。

    2B。将模板的方向设置为反转“^ POI”

    2B。每个模板都有可填写的变量

    1. 拆分运行时数据并调用填充数据的格式。
    2. 您基本上会使用模板而不是打印每一行

      标题

      ...

      页脚

答案 1 :(得分:1)

注意到一些语法错误: 第一行:删除“{0} {1}”和逗号。它应该是“!U1 setvar \”device.languages \“\”line_print \“\ r \ n”。 第二和第四行:在'!'之间插入一个空格和'U1'。