如何使用 ZPL II [Zebra GK420d] 清除缓冲区

How to clear buffer with ZPL II [Zebra GK420d]

在 ZPL II 语言的文档中有命令“~JA”,它允许清除缓冲区中的所有作业。

不幸的是,它似乎不适用于 Zebra GK420d(但我在打印机规格中也找不到任何关于它的字样)。

我可以通过将此字符串发送到打印机来打印标签:

PUT 
"^XA" SKIP
"^MMT" SKIP
"^LL1279" SKIP
"^PW799" SKIP
"^LS0" SKIP
"^BY5,3,387^FT633,947^B2B,400,Y,N,Y" SKIP
"^FD>:" v_value FORMAT 'x(8)' "^FS" SKIP
"^FT133,707^A0B,56,81^FH\^FD" v_value "^FS" SKIP
"^FT131,1100^A0B,56,81^FH\^FDVALUE:^FS" SKIP
"^PQ1,0,1,Y^XZ" 
SKIP.

然后如果缓冲区中有超过 2 个标签,我会尝试使用 :

清除缓冲区
PUT 
"^XA" SKIP
"~JA" SKIP
"^XZ" SKIP
.

没有结果。

我也试过了 放 “~JA” 跳过 .

还是没有结果。

我找不到任何信息为什么它不工作或如何使它与 Zebra GX420d 一起工作。

你能帮帮我吗?也许这对这台打印机来说是不可能的。

感谢您的帮助。

此致, 维克托

波浪号 (~) 是 Progress 默认转义字符。使用两个波浪号绕过它:

PUT "~~JA" SKIP.

您还可以查看 PUT 语句的 CONTROL 选项。

CONTROL expression

The expression specifies a control sequence that you want to send without affecting the current line, page counters, and positions maintained within ABL. Following CONTROL, expression can be a character-string expression or a RAW variable. It can include null character constants of the form NULL or NULL( expression ), where expression specifies the number of NULLs to send.

示例:

PUT STREAM A CONTROL "~033A" NULL.

希望这对某人有所帮助,摘自手册 EPL2_Prog.pdf

N = 清除图像缓冲区 说明:此命令在构建新标签图像之前清除图像缓冲区。

Always send a Line Feed (LF) prior to the N command to ensure that previous data in the command buffer has cleared and the printer is initialized and ready to accept commands.

不要在存储的表单中使用 N 命令。