Qué tal,
para que no se impriman objetos no necesitas javascript, puedes hacerlo desde css.
Aplícale una clase css a los elementos que no quieras que se impriman y define esa clase en tu hoja de estilos con
@media print{
.tuClase{ display: none}
}
En cuanto a lo de los encabezados y pies de página me temo que no puedas hacer nada. Hasta el día de hoy no vi que nadie lo lograra. Eso son preferencias de usuarios que no se pueden alcanzar desde el código de la página.
Traslado el tema al foro de CSS
saludos