There are two other options you might take in a similar situation:
Return the values as plain text, not in the form widgets (text boxes, text fields, radio buttons). Almost as easy as returning the values in the widgets.
Use PerlMagick or a PostScript module to turn the input into a PDF or a PS file, and return that to the browser for printing.
I'd go with the first option there, of these two, but be aware that you can do the second. I've seen actual invoices returned to the browser from particularly adept programmers. ("Programming Web Graphics with Perl and GNU Software" has a lot of good examples.)