PostScript::MailLabels 2.25 review

by on

PostScript::MailLabels are modules for creating PostScript files of mailing address labels. Flexible enough to tackle other printi

License: Artistic License
File size: 42K
Developer: Alan Jackson
0 stars award from

PostScript::MailLabels are modules for creating PostScript files of mailing address labels.

Flexible enough to tackle other printing tasks, basically anything requiring a set fields be printed on a regular grid. Also creates PostScript(tm) code for calibrating and testing mailing label printing.

The module has three distinct output modes. In my experience, printing mailing labels is a matter of tweaking parameters to get them all to fit properly on the page. This module is designed with this in mind.

The first output is the calibration sheet. This is a pair of annotated axes, either in inches or centimeters, centered on the page and covering the whole page in X and Y directions. The intent is for you to output this page first, and simply read off the relevant page dimensions directly.

The second output is the label test. This output is a series of boxes drawn on the page, meant to outline the edges of all the mailing labels. Take this sheet and line it up with a sheet of labels to see if they actually match perfectly. If not, tweak the parameters until they do. Note that sometimes you will get a message at the bottom of the sheet saying ``Bottom gap too large, last row cannot be printed''.

This means that the printable area of your printer is too small to utilize the last row of labels. I have this problem. But I handle it for you. Note also the arrows on the test sheet. As you hold the test sheet over a sheet of labels, hold it up to the light and slide the test sheet so that the boxes match the edges of the labels. If you slide in the arrow direction, that is a positive adjustment.

The other direction is negative. If the edges of some boxes come out dashed, that means that the non-printing border cuts off the end of the label, so I will adjust the printing area appropriately. Don't try to line up the dashed lines with label edges - it won't work. Just line up the solid lines.

The third output is the labels themselves. By default, I have set up a US-centric address definition :

firstname, lastname, street address, city, state, zipcode
But with version 2.0, you can now create your own definition. You can define new fields, and you can define how those fields land on a label. You can also control the fonts on a per-field basis. Not the size, yet - later pilgrim.

Parameters you can set :

Paper size, orientation, borders on the printable area (many printers will not print right up to the edge of the paper), where the labels live on the page and how big they are, overall x-y shift of page, whether or not to print PostNET barcode, font, fontsize, units (english or metric), which Avery(tm) product code to use, and where the first label starts.

This last needs explanation. If you have a partially used sheet of labels, you might want to use it up. So you count the missing labels, starting at the upper left, and counting across, and then down. For example, if I have 3 columns of labels, label five is the second label in the second row.

If you have an Avery(tm) product that I haven't defined, send me the specs and I'll add it.

Also, if there is another brand of labels that you use, send me the relevant data and I'll add that as well. I suspect that there must be some other vendor in Europe, but I don't know who that would be.

When setting up the addresses, I check to see if they will fit on the label. If not, I try to shorten them semi-intelligently until they fit. This part could use quite a bit more work, if done right it probably merits a module all it's own.
Briefly, for the name line, I start trimming the ends off the first name, and leave the last name alone.
For the street, I look for things like Road or Avenue and nuke those first, then I trim the street name from the right.

What's New in This Release:
Parentheses are now escaped in the generated PostScript code.

PostScript::MailLabels 2.25 keywords