E` al limite del lecito. Sicuramente e` maleducato.
Se un utente vuole stampare clicca sul bottone (o link) e stampa.
Diverso se ti trovi in una intranet, ma allora ci sono strumenti diversi e piu` potenti.
Comunque il tuo codice dovrebbe funzionare (sempre che non siano settate delle protezioni molto alte).
In alternativa prova con:
<body onload="self.print();">