E' un codice che ho fatto tempo fa quindi non mi ricordo se funziona bene o no.
Il principio č di ridichiarare gli eventi onbeforeprint e onafterprint nascondando e poi mostando tutti gli elementi della pagina che hanno la class btn.


codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>

<style type="text/css">
<!--
.btn {}
-->
</style>


<script language="JavaScript" type="text/javascript">
<!--
function myBeforePrintFunction() {
 document.all.btn.style.visibility = "hidden";
} // function myBeforePrintFunction()
function myAfterPrintFunction() {
 document.all.btn.style.visibility = "visible";
} // function myAfterPrintFunction()

window.onbeforeprint =  myBeforePrintFunction;
window.onafterprint  =  myAfterPrintFunction;
//-->
</script>

</head>
<body>
<input class="btn" type="button" name="btn" value="Print" onclick="window.print();"/>


<script language="JavaScript" type="text/javascript">
<!--
document.write(window.opener.document.all.my_div.outerHTML);
//-->
</script>

</body>
</html>