我想对ZPL代码中的行进行注释,例如:
^XA
^MMT
^LL0531
^PW1280
^LS0
^FT81,528^A0B,29,28^FH\^FDTEXT^FS
// ^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX ----
//^BY3,2,42^FT384,492^BEB,,Y,N Commented lines
//^FD789690466123^FS ----
^PQ1,0,1,Y^XZ
我想要这个,因为有时我的变量是null并且不想打印条形码。 这个有可能?或者不打印条形码的最佳方法是什么?
答案 0 :(得分:4)
简短的回答是“无法完成。”
评论指标为^FX
,之后字符将被忽略 - 但评论结束为any ^ or ~ command
,这会使^FX
无用。< / p>
除非添加了“阻止注释”命令,并且使用特定的开始/结束阻止注释助记符设置,否则抱歉 - 您运气不佳。
然而,所有不是相当。
^XA
^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX
^BY3,2,42^FT384,492^BEB,,Y,N
^FD789690466123^FS
^MMT
^LL0531
^PW1280
^LS0
^FT81,528^A0B,29,28^FH\^FDTEXT^FS
^PQ1,0,1,Y^XZ
将识别要评论的行。
^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX
^BY3,2,42^FT384,492^BEB,,Y,N
^FD789690466123^FS
^XA
^MMT
^LL0531
^PW1280
^LS0
^FT81,528^A0B,29,28^FH\^FDTEXT^FS
^PQ1,0,1,Y^XZ
会忽略它们,因为^XZ
和^XA
之间的数据会被忽略。
答案 1 :(得分:1)
我在代码中将该行构建为字符串变量并将我的注释放在串联中 - 然后将整个字符串发送到打印机,注释将留在后面。
StringBuilder sb = New Stringbuilder(""); sb.append("^XA"); sb.appendLine("^MMT"); sb.appendLine("^LL0531"); // sb.append("this line will be commented out"); // sb.append("this line will be commented out"); // sb.append("this line will be commented out"); sb.appendLine("^PQD,0,1,Y^XZ"); string s = sb.toString();
这样的事情。你可能会使用“if-else&#39;声明而不是注释,以确定它是否保留在字符串中。
答案 2 :(得分:0)
一种方法是不发送与您不想打印的字段相关的命令行。对于您提供的示例,只需从//.
开始消除(不发送)三行答案 3 :(得分:0)
@Mangoo
简短的回答是“无法完成。”
注释指示符是^ FX,此后的字符将被忽略-但是注释结束是使^ FX无效的任何^或〜命令。
不一定。我发现在注释掉变量以放入测试信息时,^ FX非常有用。在这种情况下,用任何^或〜命令触发注释结束实际上是有用的。
使用变量作为字段数据。
^XA^PQ1
^FO12,15^A0N,36,33^FDTitle^FS
^FO210,15^A0N,36,33,^FDInfo^FS
^FO750,15^A0N,165,150^FD|Variable.Number|^FS
^FO90,60^BY4,3.0^BCN,90,N,N,Y,N^FD|Variable.Number|^FS
^XZ
注释掉测试信息和变量。
^XA^PQ1
^FO12,15^A0N,36,33^FDTitle^FS
^FO210,15^A0N,36,33,^FDInfo^FS
^FO750,15^A0N,165,150^FDTestNumber^FX|Variable.Number|^FS
^FO90,60^BY4,3.0^BCN,90,N,N,Y,N^FDTestNumber^FX|Variable.Number|^FS
^XZ
这使得可以在调整格式的同时使用测试信息,而不会丢失原始变量名。您还可以使用它来进行如下信息性评论:
^FX This is a test label.
^XA^PQ1
^FX This is the title.
^FO12,15^A0N,36,33^FDTitle^FS
^FX This is the info.
^FO210,15^A0N,36,33,^FDInfo^FS
^FX This is the number.
^FO750,15^A0N,165,150^FD|Variable.Number|^FS
^FX This is the barcode.
^FO90,60^BY4,3.0^BCN,90,N,N,Y,N^FD|Variable.Number|^FS
^XZ