Fixing International Shipping Labels And Printing Automatically

Shortly after finding a way to print ZPL files to a Zebra printer, I discovered that First Class International USPS labels were not printing very well. The barcode on them is quite small, 2/3 the size of the Priority International label.

First Class International label with small barcode that will not scan.

I could not scan the code after printing, so I doubt that the Post Office would be able to. I tried to improve my printer settings, but it was still a no go. It might have been my cheap thermal labels off Amazon, but I still wanted them to work. Since I have a number of packages to send to Canada, I wanted this fixed. Since the Priority labels are acceptable to the USPS with the larger barcode, why not just use a larger barcode on First Class? There is enough room.

So that is what I did. Now, you can too.

Getting A Zebra Printer Working On Linux (And OSX?)

Since I got a thermal shipping label printer and have been getting shipping labels from Shippo, I figured out how to print from ZPL (Zebra's printer language). I found that printing from ZPL was more reliable than printing from a PDF since PDF prints are fraught with dithering and aliasing issues. To print, I simply drag and drop the file(s) I want to print on a printer launcher. You cannot get much simpler. Here is how I did it:

For Reference, I am using Linux Mint 17.1. This same idea should work for other Ubuntu derivatives as well as OSX (I have not tested anything on OSX).

First, plug in your printer via USB and power it on. Open up your printer settings (windows key > type "printers" > press Enter). Click on "+ Add" to add a new printer.


The Zebra printer should appear on a USB port. Select it and click "Forward."