ZT410 Printer Width Problem

I have an existing application that is trying to print labels to a new ZT410 (203 dpi, firmware V75.20.14Z) printer but the images are being drawn too large and don't fit inside the label. In the application we have a calibrate button that sends the following to the printer:

"! U1 setvar \"device.languages\" \"zpl\" \r\n" +
"! U1 setvar \"media.printmode\" \"T\" \r\n" +
"! U1 setvar \"media.type\" \"label\" \r\n" +
"! U1 setvar \"media.sense_mode\" \"gap\" \r\n" +
"^xa^jus^xz"

And then we measure the size of the label by querying with SBD

val height = SGD.GET("zpl.label_length", connection).toInt()
val width = SGD.GET("ezpl.print_width", connection).toInt()

The problem we are having is that sometimes the zpl.label_length comes back with a really strange value, 8170, and sometimes, but very rarely we can get it to return us the correct 211 and then the printer will print the label correctly.

We are using the Link-OS sdk version 2.14.5198

Is there something we are doing incorrectly? Is this a bug in the ZT410? We also use the same code for ZQ510 printers with no issue.

Please advise.

Robin West
It may not be intuitive, but

It may not be intuitive, but the commands you really want to use for ZPL labels are the "ezpl" settings.  So this should work better:

"! U1 setvar \"device.languages\" \"zpl\" \r\n" +
"! U1 setvar \"media.printmode\" \"T\" \r\n" +
"! U1 setvar \"ezpl.media_type\" \"gap/notch\" \r\n" +
"^xa^jus^xz"

This does not actually calibrate the label length though.  You need to add the calibrate command to let the printer find the actual label length. I should look like:

"! U1 setvar \"device.languages\" \"zpl\" \r\n" +
"! U1 setvar \"media.printmode\" \"T\" \r\n" +
"! U1 setvar \"ezpl.media_type\" \"gap/notch\" \r\n" +
"^xa^jus^xz" +

"~XA~XZ~JC"

This will feed out about 2 labels, Then the printer should nearly always have the proper label length.

Robin West

Zebra Technologies

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Joseph Nicolia
Ok thank you for the quick

Ok thank you for the quick reply, I don't have the printer today, but I will tomorrow. I'll try this first thing tomorrow and let you know how it works.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Joseph Nicolia
So this appears to work for

So this appears to work for getting the ezpl.print_width, but that returns the width of the printer, not the width of the current label loaded into the printer. Is there a way to get this specific value or do you have to know that or get it from user input?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments