tgreer is right. I agree with tgreer that the user should always be allowed to have control over the print attributes. However, I do wish there was a way that the web developer could indicate printing defaults for a document that then the user could override if they wanted.
There are ActiveX components to do this. (Probably Java applets as well.) I used an ActiveX component once that worked by allowing you to specific things such as the page header and footer, portrait or landscape, etc. The component then saved the user's settings, temporarily changed them, sent your page to the OS for printing, then restored the user's page settings.