0
votes

We are using a ZEBRA GX430t printer, bartender and printing from a third party custom built interface.

What we need is to change the printing settings to be able to print our labels with a pause after each label (e.g. a label prints, when removed by a user the printer sensor picks this up and dispenses the next label in the queue and so on)

To date, I have entered the two stated lines of ZPL programming on the Zebra GX430t manual (^XA^MMP^XZ^XA^JUS^XZ) into printing preferences > custom commands. When printing directly from bartender this works. However when printing from our custom built interface (developed using C#) it doesn’t work.

Any support/solution on how I can get this to function via the custom printing interface would be helpful.

2
If you could supply the c# code, that might be useful. One question, is this anything to do with Morans is Cheltenham, UK?Jodrell

2 Answers

0
votes

Looking at the documentation for ZPL,

^XA^MMP^XZ

sets the Print Mode to Peel-off, and

^XA^JUS^XZ

Simply saves the current settings to the EEPROM so that they persist after power off.

Given that this input works from BarTender we can assume that it is a valid command. Therefore, unsurprisingly we know that the problem lies with your custom software developed using C#.

Without seeing the source code for the software it is difficult to say anything more useful. However, I suspect your third-party software was written and tested without the full scope of ZPL in mind and is stripping or otherwise munging the data so that it can no longer be interpreted correctly by your device.

0
votes

In your comment to @Jodrell answer, i can see that you are trying to set the MediaHandling of the Label Template, and you mention you have entered the two stated lines of ZPL programming on the Zebra GX430t manual into printing preferences > custom commands. When printing directly from bartender this works but not from the C#.

I suspect your C# code is overriding the printer custom command.

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;
        }
    }
}

Can you try to set it the MediaHandlingAction to DriverSettings?

Remove WaitForLabelTakenSensor and AfterEveryPage then make sure your printer have that two lines of custom commands.

format.PageSetup.MediaHandling.Action = MediaHandlingActions.DriverSettings