我正在维护一个将 ZPL 输出到标签打印机的程序。今天,字符序列 ~Ja 作为要打印的字符串的一部分出现,这是 ZPL 的“全部取消”命令。不用说,标签没有打印。
ZPL 中是否有一种简单的方法来逃避代字号?
我正在维护一个将 ZPL 输出到标签打印机的程序。今天,字符序列 ~Ja 作为要打印的字符串的一部分出现,这是 ZPL 的“全部取消”命令。不用说,标签没有打印。
ZPL 中是否有一种简单的方法来逃避代字号?
您可以使用~CT
或^CT
将波浪号控制字符更改为任何其他 ASCII 字符,然后您可以正常打印波浪号。但是,新的控制字符将不可打印。维护起来可能会很麻烦。
将控制命令前缀更改为 的示例+
,取自ZPL II 编程指南的第 165 页:
^XA
^CT+
^XZ
+HS
^FD
如果您的字符串用、^FV
或表示为字段数据^SN
,您可以使用^FH
其十六进制值 7E 对字符串中的波浪号进行编码。
一个示例,取自ZPL II 编程指南的第 192 页:
^XA
^FO100,100
^AD^FH
^FDTilde _7e used for HEX^FS
^XZ
输出:
波浪号 ~ 用于 HEX
~ 可以通过替换为 \7E 来打印
似乎替换这三个字符将使键盘上的任何键都可以正常打印。我使用 ZebraDesigner 解决了这个问题,打印到文件并查看它们转义了哪些字符。
\ 到 \1F - 先这样做,否则会破坏下面的两个
~ 到 \7E
^ 到 \5E
这是C#中的代码
private static string escapeChars(string working)
{
working = working.Replace(@"\", @"\1F");
working = working.Replace(@"~", @"\7E");
working = working.Replace(@"^", @"\5E");
return working;
}