ZPL编程-使用“在每个标签后都暂停”来打印标签

时间:2018-08-07 11:58:25

标签: c# zebra-printers zpl bartender

我们正在使用ZEBRA GX430t打印机,调酒师,并通过第三方自定义界面进行打印。

我们需要更改打印设置,以便能够在每个标签之后暂停打印我们的标签(例如,标签打印,当用户将其移除时,打印机传感器将其捡起并分配队列中的下一个标签等等)

到目前为止,我已经将《 Zebra GX430t手册》(^XA^MMP^XZ^XA^JUS^XZ)上的ZPL编程的两行输入到打印首选项>自定义命令中。直接从调酒师打印时,此方法有效。但是,从我们自定义的内置界面(使用C#开发)进行打印时,该功能无效。

任何有关如何通过自定义打印界面使它起作用的支持/解决方案都将有所帮助。

2 个答案:

答案 0 :(得分:0)

看着documentation for ZPL

@model Models.ViewModels.ScansViewModel

<div class="form-row">
    <div class="form-group col-md-4">            
        <input asp-for="File1" >        
    </div>

    <div class="form-group col-md-4">            
        <input asp-for="File2" >        
    </div>

    <div class="form-group col-md-4">            
        <input asp-for="File3" >        
    </div>
</div>  

打印模式设置为剥离,然后

^XA^MMP^XZ

只需将当前设置保存到EEPROM中,以使它们在断电后仍然存在。

鉴于此输入适用于BarTender,我们可以假定它是有效命令。因此,毫不奇怪,我们知道问题在于使用C#开发的自定义软件。

在没有看到软件源代码的情况下,很难说出更多有用的信息。但是,我怀疑您的第三方软件在编写和测试时并未考虑到ZPL的全部范围,并且正在剥离或munging数据,以使设备无法再正确解释它们。

答案 1 :(得分:0)

在您的comment @Jodrell的答案中,我看到您正在尝试设置标签模板的 MediaHandling ,并且您提到已输入了两个将Zebra GX430t手册上的ZPL编程代码转换为打印首选项>自定义命令。直接从调酒师打印时可以,但不能从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