如何使用带有EPL的Zebra打印机打印双引号?

时间:2014-12-22 16:00:54

标签: java char double-quotes zebra-printers epl

在Java中,我想打印一个带有String作为输入的标签:

 String command
            = "N\n"
            + "A50,5,0,1,2,2,N,\"" + name + "\"\
            + "P1\n";    

但是当输入(name)具有双引号字符(")时,它是空白的并且不打印任何内容。我尝试过使用替换功能:

name.replace('"', '\u0022');          

但它不起作用。我想在标签上打印双引号,我该怎么做?

2 个答案:

答案 0 :(得分:1)

几点:

  • 替换方法在替换后返回字符串,所以你应该期望类似:

    command = command.replace...
    
  • quote具有特殊含义,因此需要在Java中进行转义。您需要以下内容:

    name = name.replace("\"", "");
    String command
        = "N\n"
        + "A50,5,0,1,2,2,N,\"" + name + "\""
        + "P1\n"; 
    System.out.println(command);
    

答案 1 :(得分:0)

发送" EPL字符串的文本字段中的字符使EPL代码认为它是您尝试打印的字符串的结尾。

所以,如果你想发送(和打印)"你好"你必须在每个"之前加一个反斜杠。字符并发送\" hello \"

您还必须为反斜杠执行此操作。

因此,您对打印机的输出(EPL)将有引号开始和结束字符串,并且\"在字符串中打印引号字符:

A30,210,0,4,1,1,N," \" hello \"" \ n

还记得你必须转义为字符来构建一个c#字符串,所以在c#中它看起来像这样: outputEPLStr + =" A30,210,0,4,1,1,N, \" \\" hello \\" \" \ n&#34 ;;

[包含6个转义字符]