I was able to print nice looking reports (under unix) by sending out formatted text out through 'enscript'. The various configuration options on enscript took care of fonts and headers etc. The result was a postscript file which I just sent to the server's local printer.
One could also pipe it through a PS to PDF filter and send it back to the user, I suppose.
For another job, I learned how to write postscript and just wrote directly to postscript files. Learning how to write postscript is probably only marginally harder than learning how to use this API, and is probably more portable.