Some time ago, somebody posted some code to comp.lang.postscript which prints envelopes complete with bar codes. What I've done is to create a NEXTSTEP front end around this.
MISCELLANEOUS THINGS
o The "Save Address" menu item saves your return address, working on the
assumption that an individual user generally uses one return address most
of the time.
o Be sure to select "Manual" paper feed and feed an envelope into your
printer when asked for paper. The proper alignment of the envelope is
left as an exercise for the reader and the specific printer involved.
NON-OBVIOUS THINGS
o clicking the stamp will print, too
o if you dwrite Envelope Warning NO, you won't get the warning before
getting the print panel (eventually I may add a preferences panel)
TO BE DONE
o add preferences panel for warning panel and address fonts
o add something interesting to the info panel
ABOUT THE POSTSCRIPT CODE
The original postscript code can be found in the app wrapper, along with my modified version. The original forces the zip code to be the last word of the last line. I changed it so that the zip code only needs to be the last word of the last line with text (i.e. you can have empty lines after the line with the zip code). Neither the original code nor my version is terribly clean, but it does clean up the stack nicely.