Du kannst dem Browser seine Druckfunktion nicht nehmen!
Außerdem kannst du dem User die Möglichkeit, Screenshots zu machen, nicht nehmen.
Also kann jeder User deine Seite, wenn auch über den Umweg "Screenshot", drucken.
Das erstmal dazu.
Mittels CSS-Medientypen hast du aber die Möglichkeit, für den Druck ein eigenes Stylesheet zu verwenden. Hier kannst du ansetzen und die ganze Seite z.B. ausblenden (display:none). Habe ich noch nie ausprobiert - müsste aber möglich sein.
Aber warum solche Arbeit, wenn du es sowieso nicht verhindern kannst? Ist genau das selbe Problem mit dem Makieren von Text auf einer Webseite. Im Quelltext kann man sich den Text sowieso besorgen, auch wenn das Makieren verboten ist.