ZPL批量打印任务:如何实现每标签单独切割?
解决ZPL每打印一张标签就切割的问题
嘿,我来帮你搞定这个每打印一张就切割的需求!你已经开启了^MMC切刀自动模式,但用^PQ批量打印时只有最后一张才触发切割,这是因为^PQ默认把所有副本当成一个完整的打印作业,所以只会在整个作业结束时执行一次切割。下面给你两种靠谱的解决方法:
方法1:循环发送单份标签(兼容性最好)
放弃使用^PQ批量打印,改为循环N次发送单份标签内容。这样每个标签都是独立的打印作业,配合你已经设置的^MMC,打印机就会在每份标签打印完成后自动触发切割。
举个例子,要打印3份标签,你可以循环3次发送以下ZPL代码:
^XA ^MMC // 保持切刀自动模式 ^FO50,50^A0N,50,50^FD你的标签内容^FS // 这里添加你的其他标签元素(条码、图片等) ^XZ // 结束当前标签作业,触发切割
如果遇到部分机型自动切割不生效的情况,还可以在^XZ之后额外发送强制切割命令兜底:
^XA^MC^XZ // ^MC命令触发手动切割
方法2:利用^PQ的切割参数(仅部分打印机支持)
部分新款Zebra打印机(比如ZT系列、ZD系列)支持^PQ命令的第四个可选参数,用来控制每打印一份就切割一次。^PQ的完整格式是:^PQ<份数>,<暂停时间>,<覆盖设置>,<切割控制>,其中将<切割控制>设为1,就能开启每份切割的功能。
示例代码:
^XA ^MMC ^FO50,50^A0N,50,50^FD你的标签内容^FS ^PQ3,0,0,1 // 打印3份,每份结束后自动切割 ^XZ
⚠️ 注意:这个参数不是所有打印机都支持,老型号机型可能不兼容,如果用这个方法没效果,建议换回方法1。
内容的提问来源于stack exchange,提问作者Alexandro Simioni
相关产品推荐
相关产品推荐

