1

我正在使用 zebra rw420 打印机从我的 android 手机打印账单,就像图像一样。在此处输入图像描述

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

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 的 Developer Demo,

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

4

2 回答 2

2

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

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

像您尝试将打印机更改回行模式将适用于打印部分,但如果您尝试使用状态命令或其他一些 SDK 功能,您将开始出现异常。

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

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

  2. 为收据页眉、行和页脚创建模板。

2a. 这些模板中的每一个都是固定的高度,因此为每个模板设置“^LL”命令。

2b。将模板的方向设置为倒置的“^POI”

2b。这些模板中的每一个都有可以填写的变量

  1. 拆分运行时数据并调用填充数据的格式。

您将基本上使用模板而不是打印每一行

标题

线

线

...

线

页脚

于 2014-10-29T14:03:25.693 回答
1

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

于 2014-10-29T12:34:17.260 回答