How do I modify print code for a 105SL+ 203dpi to print correctly on a 105SL+ 300dpi

I have some simple strings that I am sending to print to a 105SL+ 203dpi printer

I have given that code to a partner and we are trying to get it to work on their printer 105SL+300dpi printer.

When they print using the parameters that I am sending, everything it shrunk and in the corner on the label.

I tried increasing the Label Length and Print Width parameters but it did not help.

Unfortunately, the other printer is not local to me so I cannot easily "test" parameter changes; and I am not very familiar with the printer parameters that would help re-adjust the sizing of the print on the label.

Here is what I have (written in C# and sending strings to the Printer using an eithernet port connection)

        PrinterPort.Send("~JA");

        PrinterPort.Send("~JO^XA^EG^XZ");

        //Start new Label

        PrinterPort.Send("^XA");

        PrinterPort.Send("^PMN^COY,345^MNY^SLT^MTT^MMC^MD0");

        //Set Printer Date/time

        PrinterPort.Send("^ST" + ZebraDateString + ",M");

          //Set reference datum, length and width of label  

        PrinterPort.Send("^LH0,0^LL1015^PW0812^PR3^JMA");

        //Set DATE Human Readable field of label        [10]

        PrinterPort.Send("^FT55,975^A0B,39,39^FC%^FDDATE=%y/%m/%d^FS");

      //Set TIME Human Readable field of label        [10]

        PrinterPort.Send("^FT120,975^A0B,39,39^FC%^FDTIME=%H:%M^FS");

// There is a number of other Print Line and print barcode type commands here - leaving out for ease of reading and time//

        //PQ is the print quantity command for the zebra printer.

        //XZ ends the print format.

        PrinterPort.Send("^PQ" + sNumberOfLabels + ",0,0,Y^XZ");

What I don't know is if there is a Parameter setting on the Printers that I can change or if there is a parameter that I am sending that I need to change.  I realize that the two models have different dots-per-inch capabilities, but I think I should be able to modify my code such that it will print out fulling on the labels for the 300dpi unit. This code is for a 5x4 size label

The Labels print filling out the entire space on my printer (105SL+203dpi) using the above code

The labels are printing small in the upper corner on the 105SL+ 300dpi using the above code

Attaching a photos of the labels printed using the above code on the 105SL+ 300dpi

Please would love some help or a point in the right direction. Thank you!

~Chris

Anonymous (not verified)
Hi Christine,I think the

Hi Christine,

I think the command you are looking for is the ^MU command.  Change the second line to :

PrinterPort.Send("~JO^XA^MUd,200,300^EG^XZ");

This should work if I'm understanding the question right.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Christine Hughes
Thank you for your Reply

Thank you for your Reply Robin!  I did try this and I could not get it to work. I think for some printers it would work. I did a little bit more digging and what I found leads me to believe that the 300 - 200 dpi will not translate (I might be mis-understanding the information in the prog. guide though.)

For anyone else with this same question, here is the link to the Programming guide:

https://www.zebra.com/content/dam/zebra/manuals/printers/common/zpl-zbi2-pm-en.pdf

You can find the ^MU command that Robin references in the reply above on page 281.

"The ^MU command sets the units of measurement the printer uses. ^MU works on a field-by-field basis. Once the mode of units is set, it carries over from field to field until a new mode of units is entered. ^MU also allows for printing at lower resolutions — 600 dpi printers are capable of printing at 300, 200, and 150 dpi; 300 dpi printers are capable of printing at 150 dpi."

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments