Zebra Label Feeds Blank after printing - printing

I have a specific label that feeds a second, blank label after printing a good one. I'd imagine it's something about the ZPL code, but I cannot seem to isolate it. I've tried removing each formatting statement at the top, one at a time and trying different values for each one. I've also re-calibrated even though other labels print just fine. Any ideas?
~JO
^XA
^PMN
^MNY
^MMR
^MTT
^MD0
^LH0,0
^LL1219
^PR4
^JMA
^FO0,398^FR^GB811,2,2^FS
^FO406,0^FR^GB2,236,2^FS
^FO0,606^FR^GB811,2,2^FS
^FO455,234^FR^GB2,165,2^FS
^FO0,843^FR^GB811,2,2^FS
^FO2,232^FR^GB811,2,2^FS
^FO412,604^FR^GB2,240,2^FS
^FO41,41^CI0^ADN,18,20^FR^FDFrom:^FS
^FO427,41^CI0^ADN,18,20^FR^FDTo:^FS
^FO41,264^BY2,2.0,102^B3N,N,102,N,N^FR^FD^FS
^FO22,248^CI0^A0N,17,17^FR^FDOrder Number:^FS
^FO463,238^CI0^ADN,18,20^FR^FDCarrier:^FS
^FO488,264^CI0^A0N,23,23^FR^FD^FS
^FO22,412^CI0^ABN,22,14^FR^FDORDER#^FS
^FO49,443^CI0^A0N,28,56^FR^FD^FS
^FO41,61^CI0^A0N,23,23^FR^FDRandom Address^FS
^FO41,102^CI0^A0N,23,23^FR^FDOne Industrial Rd^FS
^FO41,122^CI0^A0N,23,23^FR^FDSuite 199^FS
^FO41,142^CI0^A0N,23,23^FR^FDThistown, PA 12345^FS
^FO20,508^CI0^ABN,11,14^FR^FDP.O.#^FS
^FO366,508^CI0^ABN,11,14^FR^FDSHIP DATE^FS
^FO20,526^CI0^ABN,11,14^FR^FD^FS
^FO370,524^CI0^ABN,11,14^FR^FD05/15/14^FS
^FO421,614^CI0^ADN,18,20^FR^FDFOR:^FS
^FO427,691^CI0^A0N,23,23^FR^FD^FS
^FO427,711^CI0^A0N,23,23^FR^FD^FS
^FO427,650^CI0^A0N,23,23^FR^FD^FS
^FO163,914^BY2,3.0,203^B3N,N,203,N,N^FR^FDRC051514E^FS
^FO45,862^CI0^ADN,18,20^FR^FDRC051514E^FS
^FO427,61^CI0^A0N,23,23^FR^FD^FS
^FO427,102^CI0^A0N,23,23^FR^FD^FS
^FO427,122^CI0^A0N,23,23^FR^FD^FS
^FO427,142^CI0^A0N,23,23^FR^FD^FS
^FO549,610^CI0^A0N,17,17^FR^FDCUST NO:^FS
^FO650,610^CI0^A0N,17,17^FR^FD^FS
^FO345,406^CI0^A0N,39,78^FR^FDPQ^FS
^FO447,406^CI0^A0N,39,78^FR^FD1^FS
^FO650,142^CI0^A0N,23,23^FR^FD,^FS
^FO671,142^CI0^A0N,23,23^FR^FD^FS
^FO711,142^CI0^A0N,23,23^FR^FD^FS
^FO427,732^CI0^A0N,23,23^FR^FD^FS
^FO650,732^CI0^A0N,23,23^FR^FD,^FS
^FO671,732^CI0^A0N,23,23^FR^FD^FS
^FO711,732^CI0^A0N,23,23^FR^FD^FS
^PQ1
^XZ

I ended up spending an hour and a half on the phone with Zebra and they determined that since my printer model was emulating ZPL support I had to be much more careful about the order of the statements by coordinates. In other words, Zebra models with ZPL emulation cannot deal with it when a statement has a x and y coordinates that would make it precede a line already done. It will print but cause weird things like page feeds to happen. So make sure to put all of your lines in order, even if you generate your code using software like LabelViewer.

What size media are you using? Is it gap or continuous? What settings are saved on the printer before this label is sent? You might be in a different print mode, and then when this label is sent it changes it to non-continuous gap mode (^MNY) and then it tries to find the gap by feeding a label.
Does it work if you only send this?
^XA
^FO0,398^FR^GB811,2,2^FS
^FO406,0^FR^GB2,236,2^FS
^FO0,606^FR^GB811,2,2^FS
^FO455,234^FR^GB2,165,2^FS
^FO0,843^FR^GB811,2,2^FS
^FO2,232^FR^GB811,2,2^FS
^FO412,604^FR^GB2,240,2^FS
^FO41,41^CI0^ADN,18,20^FR^FDFrom:^FS
^FO427,41^CI0^ADN,18,20^FR^FDTo:^FS
^FO41,264^BY2,2.0,102^B3N,N,102,N,N^FR^FD^FS
^FO22,248^CI0^A0N,17,17^FR^FDOrder Number:^FS
^FO463,238^CI0^ADN,18,20^FR^FDCarrier:^FS
^FO488,264^CI0^A0N,23,23^FR^FD^FS
^FO22,412^CI0^ABN,22,14^FR^FDORDER#^FS
^FO49,443^CI0^A0N,28,56^FR^FD^FS
^FO41,61^CI0^A0N,23,23^FR^FDRandom Address^FS
^FO41,102^CI0^A0N,23,23^FR^FDOne Industrial Rd^FS
^FO41,122^CI0^A0N,23,23^FR^FDSuite 199^FS
^FO41,142^CI0^A0N,23,23^FR^FDThistown, PA 12345^FS
^FO20,508^CI0^ABN,11,14^FR^FDP.O.#^FS
^FO366,508^CI0^ABN,11,14^FR^FDSHIP DATE^FS
^FO20,526^CI0^ABN,11,14^FR^FD^FS
^FO370,524^CI0^ABN,11,14^FR^FD05/15/14^FS
^FO421,614^CI0^ADN,18,20^FR^FDFOR:^FS
^FO427,691^CI0^A0N,23,23^FR^FD^FS
^FO427,711^CI0^A0N,23,23^FR^FD^FS
^FO427,650^CI0^A0N,23,23^FR^FD^FS
^FO163,914^BY2,3.0,203^B3N,N,203,N,N^FR^FDRC051514E^FS
^FO45,862^CI0^ADN,18,20^FR^FDRC051514E^FS
^FO427,61^CI0^A0N,23,23^FR^FD^FS
^FO427,102^CI0^A0N,23,23^FR^FD^FS
^FO427,122^CI0^A0N,23,23^FR^FD^FS
^FO427,142^CI0^A0N,23,23^FR^FD^FS
^FO549,610^CI0^A0N,17,17^FR^FDCUST NO:^FS
^FO650,610^CI0^A0N,17,17^FR^FD^FS
^FO345,406^CI0^A0N,39,78^FR^FDPQ^FS
^FO447,406^CI0^A0N,39,78^FR^FD1^FS
^FO650,142^CI0^A0N,23,23^FR^FD,^FS
^FO671,142^CI0^A0N,23,23^FR^FD^FS
^FO711,142^CI0^A0N,23,23^FR^FD^FS
^FO427,732^CI0^A0N,23,23^FR^FD^FS
^FO650,732^CI0^A0N,23,23^FR^FD,^FS
^FO671,732^CI0^A0N,23,23^FR^FD^FS
^FO711,732^CI0^A0N,23,23^FR^FD^FS
^PQ1
^XZ

Since you haven't told us the height of the label you are using, and we can only imply you're using a 203dpi printer from
^FO163,914^BY2,3.0,203^B3N,N,203,N,N^FR^FDRC051514E^FS
I suspect that this particular line is your trigger. The resultant label height is 914+203=1117 dots; at 203.2 dpi=5.497", if calculated at 203dpi is a little over 5.5". Now assuming you are using 5.5" labels with a 1/16" gap, this is probably a smidgin too big. Try reducing the 203s to 190 or the 914 a little. In fact, if you temporarily remove this line and the resultant label prints OK, then that's a quick-and-dirty test that should prove the point.

Related

ZPL command barcode 3 zeros creates issues

I am trying to print to a GT800 Zebra printer thru serial port.
I am using ZPL. I want to control the width which is fine in auto mode. To address that in the >^BC> command I am using Auto mode as no other size setting under ^BY works
Following is the code
^XA
^MMT
^PW831
^LL400
^LS0
^BY2,,76^FT225,141^BCN,76,Y,Y,N,A
^FD:RNIP29200082034^FS
^FO225,157^A#N,18,10,E:CAL002.FNT^FD26030-0892R^FS
^FO383,157^A#N,18,10,E:CAL002.FNT^FD08.01.20 12:00PM^FS
^FO225,187^A#N,18,10,E:CAL002.FNT^FDLAMP-DR RH^FS
^FO453,187^A#N,18,10,E:CAL002.FNT^FDXBA3^FS
^PQ1,0,0,Y
^XZ
There is a funny problem. If the ^BC mode = A then if three zeros come together gives issues for eg ABCD29200082034 it prints ABCD29200 and does not complete the barcode. But the other lines are getting printed. But if the data is ABCD29200182034 , there are no issues.
If BC mode = U then even if the code is ABCD29200182034 it prints 292001820347. Note 7 is added in the end.
I am clueless as to what is this issue. I remember facing this same issue in Honeywell printer too once.
Thanks
NOTE : I replaced the 000 with 111 and the problem persists.
ZPL Manual says the following
A= Automatic Mode :This analyzes the data sent and automatically determines the best packing method. The full ASCII character set can be used in the ^FD
statement — the printer determines when to shift subsets. A string of
four or more numeric digits causes an automatic shift to Subset C.
Note , it says a string of four or more numeric digits causes an automatic shift to subset C, but when the same string is 290010 it has no issues. I am really lost

How do you define the length of a parameter in ESC/POS?

I need to be able to print Hebrew characters on my Epson TM-T20ii. I am trying to get my printer to switch to character code page 36(PC862) using
ESC t36
for some reason the printer is switching to code page 3 and then printing the number 6.
Is there a way to let the printer know that the 6 is part of my command?
If you know of a different workaround please comment below.
Thanks
You are making a mistake, you aren't meant to replace n with an actual number.
The proper syntax in your case would be ←t$
Explanation: the manual says "ESC t n", n referring to the page sheet, however you don't replace n with a number rather with the ASCII character n, so in your example 36 = $ because $ is the 36th character on the ASCII table.

Copy a table from iPython notebook into Word?

I want to copy a table from iPython notebook into a Word doc. I'm using Word for Mac 2011. The table is a standard pandas output and looks like this:
If I use Apple+C to copy the table, and then paste it into a Word doc, I get this:
Surely there must be an easier way?
Creating a table with the same number of rows/columns in Word and then trying to paste the cells there doesn't work either.
I guess I could screenshot the table, but I'd like to include the raw data in the document if possible.
The problem in this case (from the Word perspective) is not the table layout - it's the paragraph layout. Each paragraph has a substantial indent on right and left, and more space before/after than you would normally want.
I don't think any of the Paste options (e.g. Paste Special) in Word is going to help, unless you paste as unformatted text, then select the text, convert to a table, then proceed from there.
But, even a simple Word VBA macro such as this one will leave you with something a bit more manageable. (Select a table you copied in, then run the macro). A little bit more work on the code would probably allow you to get most of the formatting you want, most of the time.
Sub fixupSelectedTable()
With Selection.Tables(1).Range.ParagraphFormat
.LeftIndent = 0
.RightIndent = 0
.SpaceBefore = 0
.SpaceAfter = 0
.LineSpacingRule = wdLineSpaceSingle
End With
End Sub
If you are more familiar with Applescript, the equivalent looks something like this:
-- you may need to fix up the application name
-- (I use this to ensure that the script uses the Open Word 2011 doc
-- and does not try to start Word for Mac 15 (2016))
tell application "/Applications/Microsoft Office 2011/Microsoft Word.app"
tell the paragraph format of the text object of table 1 of the text object of the selection
set paragraph format left indent to 0
set paragraph format right indent to 0
set space before to 0
set space after to 0
set line spacing rule to line space single
end tell
end tell

How to print different labels in zebra printer in one batch

I need to print a batch of product labels in a zebra printer. I have a file that is built like this:
^XA
^LH30,30
^FO20,10^AF^FDAle Beer^FS
^FO20,100^BY3^BCN,100,Y,N,N
^FD574759766878^FS
^FO20,280^AF^SNSK: US/0001,1,Y^FS
^FO20,320^AF^SNC: Alcoholic,1,Y^FS
^XZ^XA
^LH30,30
^FO20,10^AF^FDCherry Cola^FS
^FO20,100^BY3^BCN,100,Y,N,N
^FD825812897457^FS
^FO20,280^AF^SNSK: US/0018,1,Y^FS
^FO20,320^AF^SNC: Soft Drinks,1,Y^FS
^XZ^XA
^LH30,30
^FO20,10^AF^FDCola^FS
^FO20,100^BY3^BCN,100,Y,N,N
^FD881108188209^FS
^FO20,280^AF^SNSK: US/0019,1,Y^FS
^FO20,320^AF^SNC: Soft Drinks,1,Y^FS
^XZ
So, I'm trying to send multiple labels to the printer. I don't have the machine, I am using the Zpl Printer Chrome emulator. The thing is that I only see the first label.
Is this correct? How can I print all my labels correctly?
Thanks

ESC/P programming!

Why i need to use it is because for some printers using TPrinter prints some weird hieroglyph at the beginning of the printable area.
My problem is that if i send some commands, nothing happens.
ESC E (#27 #69) - Sending this escape sequence didn't work as i expected. It removed first letter and rest of the string made bold. eg. Hello -> ello. After i changed it to ESC E ESC (#27 #69 #27), it worked fine. This example i managed to figure out, but...
trying to select character table "ESC t n" (#27 #116 n), to make "õäöü" work. This command just doesn't work. Nothing happens! And this command is supported by esc/p, esc/p 2 and 9-pin esc/p, so it should work just fine.
Manual can be found here.
If anyone has ever needed to use esc/p commands then maybe one can shed some light how to work with them!
Thanks in advance!
EDIT:
In my previous post i asked more or less the same question though answers were about how did i send commands to the printer. (I'll change my question there according to what was the answers!)
I accepted Ken's answer, because he claimed that the way i transferred the commands wasn't the best and i got it to work with Escape command.
The problem was that after trying to use my program with another printer, it didn't work as expected, because it uses TPrinter.Begindoc and EndDoc.
So actually i must use the other solution that Rob Kennedy helped me with!
EDIT 2:
As it turned out, i used wrong manual, where commands are little different (though still supporting esc/p as it proclaims). Thank you all for your help!
PS!
I still have a question: I need a character table where
245 = õ
228 = ä
246 = ö
252 = ü
which is iso 8859. But in manual there is no such character table or any similar to it. Should i do some string manipulation and replace eg 228 to 132 or does anyone know any better approuch?
I keep it unanswered for a while, and then accept stukelly's answer.
Based on your previous question, I think you are using the wrong commands to control the EPSON TM-T70 receipt printer. After some research I found the product brochure and POSMicro both mention ESC/POS.
The ESC/POS command for turning bold on and off requires has a third value, as follows.
ASCII ESC E n
Hex 1B 45 n
Decimal 27 69 n
Where n is 0 or 1, turning bold off or on.
Here is a detailed ESC/POS reference.

Resources