Printer can't recognize the break between stickers OR the printer doesn't recognize the correct size HEIGHT of my stickers:
Here's the auto-sense printer startup routine:
1. Make sure the printer power is off and that the stickers and ribbon are loaded.
2. Press and hold the feed button then turn on the printer power.
3. Continue to hold the feed button until the status light LED flashes.
Release the feed button.
4. The printer will set the media sensor for the label backing being used.
After the printer is done making this adjustment, the roll will
automatically feed until a label is positioned at the print head.
5. The configuration settings will print. Upon completion, the printer will save the new settings in memory and
remain in diagnostic dump mode.
6. Press the feed button on more time. The printer will dispense another label with the
message "Out of DUMP" and be ready for normal operation.
How do I tell the printer the width of my barcode labels?
For the Zebra TLP2844, the dpi (or print resolution) is 203, meaning that there are 203 dots in an inch. Our new label width is 2 inches, meaning that we needed to tell the printer that the media width is 406. The strategy that we used was to send EPL directly to the printer. This is pretty easy. All you need to do is login as someone with rights to the lp group in /etc/group, and then type the following command at the command line:
echo q406 >> /dev/usb/lp0
What this does is send the 'q' command (the EPL command to set the label width) to the printer, which is located at lp0. the '406' argument is the 406 dot length that corresponds to the 2 inch width of our stickers. After doing this, it is a good idea to then do the 'autosense' routine above, so the printer auto-detects the label height and the break between stickers.
How does the barcode printing work:
Barcode printing works as follows: when you click Print Barcode in the OpenMRS Touchscreen application, OpenMRS generates an .epl file that contains EPL2-language instructions that are to be interpreted by the printer. What you do is then configure firefox to automatically open the file with barcodeprint.sh. The barcodeprint.sh file is basically just a three line command file that routes the epl instructions to the printer device, which on Ubuntu should be /dev/usb/lp0 (see the code of barcodeprint.sh above). Then, the printer should execute the instructions. For more information on the EPL2 language, just do a google search for 'Zebra EPL2 Programmer's Manual'. This strategy is designed to do two things: first, you don't need a driver to install the printer. barcodeprint.sh basically fulfills this function. And second, we don't want to see a popup 'print' dialogue in Firefox -- when you click the 'Print Barcode' button, you just want the printer to spit out a barcode, no questions asked.