James is correct, that you can use a print targeted CSS to accomplish what you want. Basically you create a CSS file and link it with the print media attribute, no need for any custom script. That CSS file will then be used by the browser/spooler when processing the page for print. This allows you to override any of the default CSS, font sizes, hide/show elements, re-position elements, etc. for your print view. The link that James posted is a good one, and I also have a blog post on the topic with a link to some of the other capabilities (which may be useful).
What you're doing is really just hiding the header, navigation, and quick launch. That can be done fairly easily with just CSS, although it's much easier in 2010 than it is in 2007 due to the heavy reliance on tables in 2007.