ZPL 编程 - 打印带有“每个标签后暂停”的标签
Posted
技术标签:
【中文标题】ZPL 编程 - 打印带有“每个标签后暂停”的标签【英文标题】:ZPL Programming - Print labels with "pause after every label" 【发布时间】:2018-08-07 11:58:24 【问题描述】:我们使用 ZEBRA GX430t 打印机、调酒师和第三方定制界面进行打印。
我们需要更改打印设置,以便能够在每个标签之后暂停打印我们的标签(例如,标签打印,当用户移除标签时,打印机传感器会拾取它并分配队列中的下一个标签等等)
迄今为止,我已将 Zebra GX430t 手册 (^XA^MMP^XZ^XA^JUS^XZ
) 中所述的两行 ZPL 编程输入到打印首选项 > 自定义命令中。当直接从调酒师打印时,这是可行的。但是,当从我们的自定义构建界面(使用 C# 开发)打印时,它不起作用。
任何关于如何通过自定义打印界面使其发挥作用的支持/解决方案都会有所帮助。
【问题讨论】:
如果您可以提供 c# 代码,那可能会很有用。一个问题,这与英国切尔滕纳姆的 Morans 有什么关系吗? 【参考方案1】:看着documentation for ZPL,
^XA^MMP^XZ
将打印模式设置为剥离,并且
^XA^JUS^XZ
只需将当前设置保存到 EEPROM,以便它们在断电后仍然存在。
鉴于此输入来自BarTender,我们可以假设它是一个有效命令。因此,不出所料,我们知道问题出在您使用 C# 开发的自定义软件上。
如果没有看到该软件的源代码,很难说出更有用的信息。但是,我怀疑您的第三方软件是在没有考虑 ZPL 的完整范围的情况下编写和测试的,并且正在剥离或以其他方式munging 数据,因此您的设备无法再正确解释它。
【讨论】:
嗨,下面的代码是我们尝试过的最新版本的代码。 ` public ActionResult PrintDocument(PrintViewModel model) if (ModelState.IsValid) using (var engine = new engine (true)) LabelFormatDocument format = engine.Documents.Open(model SelectedDocument);格式.PageSetup.MediaHandling.Action = MediaHandlingActions.WaitForLabelTakenSensor; format.PageSetUp.MediaHandling.Occurence = MediaHandlingOccurance.AfterEveryPage; `等等【参考方案2】:在您的comment 到@Jodrell 的回答中,我可以看到您正在尝试设置标签模板的 MediaHandling,并且您提到您已经输入了 ZPL 编程的两行在 Zebra GX430t 手册中进入打印首选项 > 自定义命令。当直接从调酒师打印时,这可以工作,但不能从 C# 打印。
我怀疑您的 C# 代码覆盖了打印机自定义命令。
public ActionResult PrintDocument(PrintViewModel model)
if (ModelState.IsValid)
using (var engine = new engine (true))
LabelFormatDocument format = engine.Documents.Open(model SelectedDocument);
format.PageSetup.MediaHandling.Action = MediaHandlingActions.WaitForLabelTakenSensor;
format.PageSetUp.MediaHandling.Occurence = MediaHandlingOccurance.AfterEveryPage;
您可以尝试将 MediaHandlingAction 设置为 DriverSettings 吗?
删除 WaitForLabelTakenSensor 和 AfterEveryPage,然后确保您的打印机具有这两行自定义命令。
format.PageSetup.MediaHandling.Action = MediaHandlingActions.DriverSettings
【讨论】:
您好 Jordell,是的,我们能够通过更改驱动程序设置来实现此功能。感谢您的回复。以上是关于ZPL 编程 - 打印带有“每个标签后暂停”的标签的主要内容,如果未能解决你的问题,请参考以下文章