Zebra printer "loses" labels (label data) when printer is paused

sqdperu used Ask the Experts™
Background:  I write VB6 programs that write ZPLII code to txt files.  Then when the files are complete, in the program I copy the txt file to the LPT1 port/printer with this code:
Shell("CMD /CCOPY Lbl.txt LPT1", vbHide).   This all works fine - have been doing this for years.

Now I have a need where I print label A, label B, label A, label B...  These all need sent to the printer at one time.  So I create a txt file, 66Kb in size and send it to the printer as stated above.  

Here is the issue:  If I let the labels print continously (64 labels), it prints fine and I get all 64 labels.  However, where the labels are used they cannot do that.  They assemble product, put on 2 labels, press pause button on printer, repeat.  When it is done this way, they get around 30 labels and that is it.  The printer "loses" the rest.  I checked the file that is sent to the printer and it contains the code for all 64 labels.  The printer has 16MB of memory so there is plenty of room to hold a 66Kb file.

I tried a test.  I took the Lbl.txt file and opened a command prompt and typed "Copy Lbl.txt LPT1".  The printer starts to print and then I press pause button on the printer after a couple labels.  The Command prompt cursor is flashing, but it does not return to input mode to where you can type in another command.  Then after a while it returns the message "The requested resource is in use.  0 file(s) copied."  

Anyone have any idea how I can get the whole file into the printer so I don't not lose my labels?

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
I would break the labels up into print jobs of 2 labels per file instead of all 64 per file for at least troubleshooting purposes.
Lionel MMSmall Business IT Consultant

This is a printer issue--its been a long time since I dealt with a similar issue but there is a settings in the printer related to spooled jobs (front panel on printer--not windows setting for printer)


It does the same the with single files.  You get approximately 30 labels out of the printer before it "loses" the rest.

I agree "it is a printer isse".  If I do a "COPY lbl.txt LPT1" in a command prompt, I get the same results.  

Also, after the labels that are going to print stop printing,  the green data light stays on solid and nothing else prints out.

I called Zebra support and sent my files to them to see if they can figure it out.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Lionel MMSmall Business IT Consultant

"the green data light stays on solid and nothing else prints out"
This is a good piece of information but for the life of me I can't tell you the exact solution--there is some buffer setting that the printer is either waiting for a certain amount of data before it will continue printing or waiting for a certain character to tell it the job is ended and to print what is has in its buffer. I hope my brain will bring it to the forefront but maybe you hearing this will spur you to it. Its been so long since I worked on dos based printing--used to print yellow pages with dos programs.


I thought I about had it by using the DOS "PRINT" command.  
PRINT /D:LPT1 C:\Lbl.txt

It is suppose to use some kind of spooling I guess.  It does not generat an error, even after over a half hour.  But the 1st print only printed 31 sets of labels out of 32 (62 labels) and one of the labels was only printed half way.  On the 2nd print attempt, I only got 28 sets of labels and one time label A was followed by another label A with no lable B in between them.

I read online that you are suppose to be able to add buffer commands with the PRINT statement, but mine on XP rejects them.  Also, in cmd prompt a PRINT/? only shows the destination and source as the only parameters for the command.  

Really confused.
Try to use LPR to send the file(s) to see if there are any differences

Step 1- Install LPR on the sending Windows PC (instructions for XP or Win7)
Step 2- Send the file using LPR

Step 1a - Enable LPR on the Windows 7 workstation(s) that will need to send the file
    a- GoTo Start and type appwiz.cpl in the search box and hit Enter
    b- Click on Turn Windows features on and off in the left pane
    c- Click the + sign next to Print and Document Services
    d- Enable the feature for LPR Port Monitor
    e- Click OK
    f- You may be prompted to Restart

Step 1b - Enable LPR on any Windows XP PC that will need to send the file
    a- GoTo Start and type appwiz.cpl in the search box and hit Enter
    b- Click on Add/Remove Windows Components in the left pane
    c- Click on Other Network File and Print Services
    d- Click on Details
    e- Enable Print Services for UNIX
    f- Click on OK
    g- Click on Next
    h- Click on Finish
    i- Close the Add/Remove Programs window

Step 2 - Send the file to the Zebra printer with the following command
    a- LPR -S printerIPaddress -P raw path\filename
      example: LPR -S -P raw c:\test\myfile.txt
Lionel MMSmall Business IT Consultant

If eerwalters suggestion doesn't work then try to contact zebra and ask them what the code is for their printer for it to know that it has reached the end of the print job--once you have that you have to add that to the end of your print file so that data does not sit in the buffer.


eerwalters, thanks for the suggestion, but I'm not ready to go to those extra measures to send a 66Kb file to a printer.  It crazy that what should be such a simple process cannot be handled by the zebra printer.  I may try to break it up into 2 files to see if that makes a difference.

I tested the "PRINT" command on a new Zebra 110xi4 printer and got the same results - only 28 sets of labels instead of 32 (short 8 labels).

Still waiting to hear back from Zebra support...  (Turns out they had email trouble yesterday never got my files so I had to resend it today.)
I finally figured it out.  In the past we were only sending one label to the printer (LPT1) - a 1 or 2 KB file.  Apparently that is fine to do without actually having a printer setup in the Windows "Printers", but for larger files or mulitple small files it is not okay.

You have to "Add" a printer and set it up as "Local" on "LPT1" and set the driver to "Generic / Text Only" printer.  (In the Advanced properties, I set it to
"Print directly to the printer" - not required, but how I did it).  

Also, the printer may pop-up in the system tray with the message
"This document failed to print" even though all lables print just fine.  Right-click System Tray / Properties / Customize / and tell it to "Always Hide".  
Note - There is a setting under Printers / File / Server properties /  Advanced tab to uncheck "Show informational notifications for local printers" and for "Network Printers".   Unchecking these does not seem to help.
Keep the points, but just as an FYI, the LPR solution would have accomplished the same thing.


This is what actually solved the issue and what I am using in production.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial