dcomartin...
Using the @...say feature, you can set certain HP printer settings. Here are some examples:
@...say CHR(027)+CHR(069) && resets printer to default
@...say CHR(027)+CHR(040)+CHR(115)+CHR(051)+CHR(066) && bold text
@...say CHR(027)+CHR(040)+CHR(115)+CHR(048)+CHR(066) && normal text (not bold)
@...say CHR(027)+CHR(040)+CHR(115)+CHR(049)+CHR(080) && sets proporional width text
@...say CHR(027)+CHR(040)+CHR(115)+CHR(048)+CHR(080) && sets fixed width text
@...say CHR(027)+CHR(040)+CHR(115)+CHR(055)+CHR(086) && set font pitch to 7
@...say CHR(027)+CHR(040)+CHR(115)+CHR(056)+CHR(086) && set font to 8 pitch
@...say CHR(027)+CHR(040)+CHR(115)+CHR(049)+CHR(048)+CHR(086) && set font to 10 pitch
@...say CHR(027)+CHR(040)+CHR(115)+CHR(049)+CHR(054)+CHR(086) && set font to 16 pitch
@...say CHR(027)+CHR(038)+CHR(108)+CHR(049)+CHR(050)+CHR(068) && sets text to 12 line per inch
@...say CHR(027)+CHR(038)+CHR(108)+CHR(056)+CHR(068) & set text to 8 lines per inch
These are a few of the things you can control through your print routines. Google for "PCL language" and you should find a few white papers with most of the PCL language. You'll see control characters that start with "esc(" followed by either letters (both upper and lower case) or numbers (067, 071, etc). If it's letters, just change each letter to it's ASCII value, being aware of upper & lower case letters. If it's groups of numbers (067,068, etc.), use those numbers as is. Make sure that each value you use is in groups of 3 letters (see above). For example, the ASCII value of ESC is 27, so your code would be chr(027).
Play around with it and you'll find that you can gain a lot more control over your printed documents than you ever could before. If you run into any snags, send me an email and I'll help where I can.
There's always a better way. The fun is trying to find it!