Oh ho! Here we go............
I had just the same scenario. My boss tells me "you have to make it select portrait by default, they (the users) won't do it"
me:"the will when they print it out and only half of it is on the page!"
boss:"just do it"
So, I looked around........and around.
The information I gathered lead to the same place -> "you can do it, but it's complicated"
In short, it can't be done using html or javascript. You can't use server side scripting because the server simply returns a file and by the time the user sees the page you are at the client side of the whole business. You can't use javascript because javascript wasn't designed for that kind of thing. It's "secure" i.e. you can't do much with it, such as controlling system interaction (and the print is external to your browser).(I believe javascript was named so because java had been launched earlier and it was a cool, popular name - not because it was as powerful as java for the client).
This means you have to use something else. I forget what was suggested to me, but it was something like java servlets ?? I don't know if this is client code or an rpc from the server to client or what, but I bailed out here and held up my hands with a big "I don't know how to do it".
My suggestion is intimidating users with threats and propaganda, and, of course, just telling them to hit the landscape radio button!
Sorry I couldn't give better news. If anyone knows any more, I'd be glad to read of it.