Eliminar el encabezado y el pie de página de window.print ()

Estoy usando window.print () para imprimir la página, pero tengo el encabezado y el pie de página que contiene el título de la página, la ruta del archivo, el número de página y la fecha. ¿Cómo eliminarlos?

Intenté imprimir hojas de estilo también.

#header, #nav, .noprint { display: none; } 

Por favor ayuda. Gracias.

En Chrome, es posible ocultar este encabezado / pie de página automático usando

 @page { margin: 0; } 

Dado que el contenido se extenderá a los límites de la página, el encabezado / pie de impresión de la página estará ausente. Debería, por supuesto, en este caso, establecer algunos márgenes / rellenos en su elemento de cuerpo para que el contenido no se extienda hasta el borde de la página. Como las impresoras comunes simplemente no pueden imprimir sin márgenes y probablemente no sea lo que usted desea, debe usar algo como esto:

 @media print { @page { margin: 0; } body { margin: 1.6cm; } } 

Como Martin señaló en un comentario, si la página tiene un elemento largo que se desplaza más allá de una página (como una gran mesa), el margen se ignora y la versión impresa se verá rara.

En el momento original de esta respuesta (mayo de 2013), solo funcionaba en Chrome, ahora no estoy seguro, nunca más tuve que volver a intentarlo. Si necesita soporte para un navegador que no puede funcionar, puede crear un PDF sobre la marcha e imprimirlo (puede crear un PDF autoimpreso que incorpore JavaScript en él), pero eso es una gran molestia.

Firefox:

  • Agregue el atributo moznomarginboxes en

Ejemplo:

  

Estoy seguro de que agregar este código en su archivo css resolverá el problema

  

Puede visitar esto para saber más sobre esto

El estándar CSS permite algunos formatos avanzados. Existe una directiva @page en CSS que habilita algunos formatos que solo se aplican a los medios de búsqueda (como el papel). Ver http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html .

   Print Test    
Top line
Line 2

Hoy mi colega tropezó con el mismo problema.

Como la solución “margen: 0” funciona para los navegadores basados ​​en cromo, Internet Explorer continúa imprimiendo pie de página incluso si los márgenes @page se establecen en cero.

La solución (más de un truco) era poner un margen negativo en la página @.

 @page {margin:0 -6cm} html {margin:0 6cm} 

Tenga en cuenta que el margen negativo no funcionará para el eje Y, solo para X

Espero eso ayude.

 @media print { .footer, #non-printable { display: none !important; } #printable { display: block; } } 

Si te desplazas hacia abajo hasta este punto, encontré una solución para Firefox. Imprimirá contenidos de un div específico sin los pies de página y los encabezados. Puede personalizar como lo desee.

En primer lugar, descargue e instale este complemento: JSPrintSetup .

En segundo lugar, escribe esta función:

  

En tercer lugar, en su código, donde quiera que desee escribir el código de impresión, haga esto (he usado JQuery. Puede usar Javascript plano):

  

Obviamente, necesitas el enlace para hacer clic:

 Print my Div 

Y tu div para imprimir:

 
....

1. Para Chrome y IE

  
  1. Para FireFox como dijo l2aelba ,

Añada el atributo moznomarginboxes en Ejemplo:

  

no tienes que escribir ningún código. justo antes de llamar a window.print () la primera vez, cambie la configuración de impresión de su navegador. por ejemplo en firefox:

  1. Presiona Alt o F10 para ver la barra de menú
  2. Haga clic en Archivo, luego Configuración de página
  3. Seleccione la pestaña Margins & Header / Footers
  4. Cambiar URL para blanco -> imagen

y otro ejemplo para IE (estoy usando IE 11 para versiones anteriores, puede ver esto Prevenir que Firefox o Internet Explorer impriman la URL en cada página ):

  1. Presiona Alt o F10 para ver la barra de menú
  2. Haga clic en Archivo, luego Configuración de página
  3. en la sección Encabezados y pies de página Cambiar URL por vacío.