Using Generic/Text only driver for Zebra 170Xi4, how to send commands ZPL - zebra-printers

We are wanting to have a label feed after a print job is finished. I know this is possible to do within the Zebra driver, but the issue we had there is it won't select the paper size automatically from the printer.
Is there a way to convert/send the ZPL command using the Printer Properties->Printer Commands-> End Print Job?
The ZPL command I had found to feed a label after a print job is:
^XA
^FD
^XZ
Insuring to put a space after the FD and each command being on its own line.

The best way to print a blank label is to add a ^PH command on your original zpl spool.
https://imgur.com/a/VW1dWw0
The ^PH command causes the printer to feed one blank label.

Related

How to call another zpl file from the main zpl program

I have a zpl script to print a logo, which is rather lengthy. Since this script file will be called once per label while printing other barcode labels, I would like to know if there is a way to embed (or import) the logo printing script in the main zpl script. The logo itself is a .png image, which I have converted to a zpl script.
Send logo to the printer. The ^ISR:SAMPLE.GRF^FS is what saves the object to memory. Replace the rest with your logo.
^XA
^FO30,40^ADN,36,20^FDThis is my Logo^FS
^ISR:SAMPLE.GRF^FS
^XZ
Send the label to the printer, recalling the logo. ^ILR:SAMPLE.GRF^FS is what recalls the object from memory
^XA
^ILR:SAMPLE.GRF^FS
^FO150,125^ADN,36,20^FDFormatting Not In Logo^FS
^XZ
Make sure you
Begin and end all streams with the begin and end commands: ^XA (content) ^XZ
Use the memory path/letter that corresponds to the non-volatile memory.

How to read tag ID from Zebra Printer

We have a Zebra ZT410 RFID printer. In order to print a graphical drawing on the tag which contains the unique TAG_ID, we need to
read current tag's TAG_ID from printer
generate a visual drawing by using the TAG_ID value
print the generated drawing as usual
So, how can we read the current (the one will be printed on the next print command) tag's TAG_ID?
Additional info
We successfully used the following ZPL code described in the manual, on page 396 in order to make the printer read the TAG_ID and print it on the label:
^XA
^RB96,8,3,3,20,24,38^FS
^FO50,50^A0N,40^FN0^FS
^FN0^RFR,E^FS
^XZ
We have successfully executed this code 3-4 times, then tried something else according to our needs. Then we gave up, and tried to use the same code again and satisfy the results for now, but now we get 3 void void void ... void void labels as we executed exactly the same command.
Also, we tried to run the following ZPL code which is given by the manual, on page 402 in order to get the TAG_ID, but there is nothing returning back from the printer:
^XA
^FO20,120^A0N,60^FN0^FS
^RI0,,5^FS
^HV0,,Tag ID:^FS
^XZ
I used this ZPL code to extract the UID and print in on the label:
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD10^JUS^LRN^CI0^RS8^XZ
^XA
^FO20,120^A0N,60^FN1^FS
^RFR,H,0,12,2^FN0^FS
^HV0,, ^FS
^BY4,3,110^FT288,250^BCN,,Y,N
^FN4^FS
^FN4^RFR,H,3,6,2^FS
^XZ
Using zebra 110Xi4
I encountered another problem, the UID barcode is printed correctly but the output to the screen is for the previews label.
Hope this helps,

How to do a zpl batch printing

I am able to print the labels by sending zpl commands to the printer.
Now how to do a batch printing of zpl labels programatically.
suppose if have multiple labels to be printed in a single printjob.
You should be able to simply send all the labels together as a single ZPL command string.
Just do an ^XZ command to end the current label
and then ^XA to start the next one.
If the batch of labels are all identical, you can just add the ^PQ command before the ^XZ. The ^PQ command is used to have a single label printed multiple times, so adding ^PQ50 would make the label print 50 times.
Here is an example that will generate a batch of 500 labels. It includes an increment number within a barcode which is also displayed as text.
^XA
^FO250,40^A0N,70,70^FDLPN^FS
^FO30,120^A0N,50,50
^BCN,100,N,N,N
^FD1000001^SFddddddd^FS
^FO200,300^A0N,50,50
^FD1000001^SFddddddd^FS
^PQ500
^XZ

Zebra RW 420 not printing last or first inch using ZPL

Zebra RW 420 not printing last or first inch(depending on rotation) using ZPL.
this link was suppose to give a solution since it is the same symptom; but I've try all combinations of "Back Feed" (~JSN, ~JSA, ~JSB) with no results.
here is my ZPL code(generated from ZebraDesigner print to file command) It doesn't print "Hello 22" completely:
^XA~TA000~JSN^LT0^MNM^MTT^POI^PMN^LH0,0^JMA^PR2,2~SD10^JUS^LRN^CI0^XZ
^XA
^MMT
^PW812
^LL2233
^LS0
^FO272,76^A0N,56,55^FH\^FDHello 11^FS
^FO320,2000^A0N,56,55^FH\^FDHello 22^FS
^PQ1,0,1,Y^XZ
I had the same problems with print output. I ended up abandoning use of ^FO and went with ^FT, and everything has been perfect since. I don't know why ^FO is so temperamental, but ^FT is very straightforward. You get what you expect.
I'd suggest getting rid of that entire first row that ZebraDesigner made. You don't need it.
I've solved the problem with the help of Zebra support.
The actual problem was the var "zpl.label_length" that was set to 2014 instead of 2233; the ^LL command is ignored in this printer and the label length is controlled only by "zpl.label_length".
It printed the whole label(11")after sending the command:
! U1 setvar "zpl.label_length" "2233"

Translating from ZPL (Zebra Programming Language) to IPL (Intermec Programming Language)

I'm getting ready to embark on a week long adventure in translating a few print routines from ZPL to IPL.
Within the ZPL there exists a Label Reverse Print (^LRY) command. This command reverses the printing of all fields in the label format allowing a field to appear as white over black or black over white.
Does anyone know if a similar command exists within the IPL that performs such a task?
Printers:
Zebra ZTC 105SL-200dpi
Intermec 3400D
Found the equivalent command finally within IPL. The <SI>h command selects the Printhead Loading Mode.

Resources