One way is to set a CSS class on all the HTML containers of the site's "chrome" (the stuff that isn't the core page content). You could name this CSS class "NoPrint":
<div class="OtherCSSClasses NoPrint"> header stuff </div>
<div class="OtherCSSClasses NoPrint"> left stuff </div>
<div> main content stuff here </div>
<div class="OtherCSSClasses NoPrint"> footer stuff </div>
Then your CSS file has the following:
@media print{
.NoPrint{ display: none; }
}
Look here for more details:
http://www.w3.org/TR/REC-CSS2/media.html
-Peter