我们正在使用ZEBRA GX430t打印机,调酒师,并通过第三方自定义界面进行打印。
我们需要更改打印设置,以便能够在每个标签之后暂停打印我们的标签(例如,标签打印,当用户将其移除时,打印机传感器将其捡起并分配队列中的下一个标签等等)
到目前为止,我已经将《 Zebra GX430t手册》(^XA^MMP^XZ^XA^JUS^XZ
)上的ZPL编程的两行输入到打印首选项>自定义命令中。直接从调酒师打印时,此方法有效。但是,从我们自定义的内置界面(使用C#开发)进行打印时,该功能无效。
任何有关如何通过自定义打印界面使它起作用的支持/解决方案都将有所帮助。
答案 0 :(得分:0)
@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