7

我正在维护一个将 ZPL 输出到标签打印机的程序。今天,字符序列 ~Ja 作为要打印的字符串的一部分出现,这是 ZPL 的“全部取消”命令。不用说,标签没有打印。

ZPL 中是否有一种简单的方法来逃避代字号?

4

2 回答 2

13

您可以使用~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

于 2013-05-29T19:15:53.430 回答
0

~ 可以通过替换为 \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;
}
于 2021-12-20T20:53:43.460 回答