Although there is no way that I'm aware of to absolutely prevent users from printing a Web page, the following links will provide some ways to make it harder.

http://forums.devshed.com/html-programming-1/how-to-disable-print-40216.html

http://www.felgall.com/jstip35.htm

I just combined the scripts from the two links - and copy and paste the following code. This provides a reminder not to print the page if they right click the page, but if they go to file, print, they get a blank page.

    <script>
    document.onselectstart=new Function('return false');function ds(e){return false;}function ra(){return true;}document.onmousedown=ds;document.onclick=ra;
    function p1(){for(pp=0;pp<document.all.length;pp++){if(document.all[pp].style.visibility!='hidden'){document.all[pp].style.visibility='hidden';document.all[pp].id='ph'}}}function p2(){for (pp=0;pp<document.all.length;pp++){if(document.all[pp].id=='ph')document.all[pp].style.visibility=''}}window.onbeforeprint=p1;window.onafterprint=p2;
    </script>

    <script language=JavaScript>
    <!--

    //Disable right mouse click Script
    //By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive
    //For full source code, visit http://www.dynamicdrive.com

    var message="Please do not print this page.";

    ///////////////////////////////////
    function clickIE4(){
    if (event.button==2){
    alert(message);
    return false;
    }
    }

    function clickNS4(e){
    if (document.layers||document.getElementById&&!document.all){
    if (e.which==2||e.which==3){
    alert(message);
    return false;
    }
    }
    }

    if (document.layers){
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
    }
    else if (document.all&&!document.getElementById){
    document.onmousedown=clickIE4;
    }

    document.oncontextmenu=new Function("alert(message);return false")

    // -->
    </script>