2010-04-04 19 views
33

Por defecto, cuando se imprime una página web, la página título yy URL están impresos en la parte superior de la página, e igualmente la fecha y tiempo se imprimen en la parte inferior.Extracción título de la página y la fecha cuando se imprime la página web (con CSS?)

Es posible eliminar esta adicional que está imprimiendo a través del menú SETUP PAGE (en archivo en Internet Exp)

¿Alguien sabe de una manera de hacer esto a través de CSS o Javascript?

Respuesta

36

Históricamente, ha sido imposible hacer que estas cosas desaparezcan, ya que son configuraciones de usuario y no se consideran parte de la página sobre la que usted tiene control.

http://css-discuss.incutio.com/wiki/Print_Stylesheets#Print_headers.2Ffooters_and_print_margins

Sin embargo, a partir de 2017, la @page at-rule se ha normalizado, que se puede utilizar para ocultar el título de la página y la fecha en los navegadores modernos:

@page { size: auto; margin: 0mm; } 

crédito a Vigneswaran S por este consejo.

+0

+1 Buena llamada, no sabía de esto. – R0MANARMY

+2

Parece posible ... intente imprimir en Google Docs .. (desde Chrome) –

-4

Hay una posibilidad de tener una hoja de estilo separada para la impresión, utilizando

<link type="text/css" rel="stylesheet" media="print" href="print.css"> 

No sé si lo hace lo que quiere sin embargo.

+0

Está pidiendo cambiar el encabezado y el pie de página de la página de impresión, no el cuerpo. – BalusC

+0

Lo sé, pero no sé si es posible hacerlo con CSS o no. –

+2

Esta respuesta muestra una comprensión pobre de la pregunta. – Cassandra

11

Una posible solución para el título página:

  • proporcionar un botón de impresión,
  • captura el evento onclick,
  • uso javascript para cambiar el título de la página,
  • luego ejecutar el comando de impresión a través de javascript también.

document.title = "Print page title"; window.print();

Esto debería funcionar en todos los navegadores.

+0

Y funcionó para mí. Gracias. – LYKS

4

Puede agregar esto en su hoja de estilos: @page{size:auto; margin:5mm;} Pero esto descarta el número de página demasiado

29

Su sencillo. Solo usa css.

<style> 
@page { size: auto; margin: 0mm; } 
</style> 
+0

¡Buena respuesta +1! Consulte la documentación para leer sobre soporte. https://developer.mozilla.org/en-US/docs/Web/CSS/@page – Richard

+1

Una buena respuesta, pero parece que no funcionará en Firefox – Skorek

+1

¡Salvaste mi vida hoy!, y sí, funciona en Firefox ahora! –

0

completando la respuesta de Kai Noack, Me gustaría hacer esto:

var originalTitle = document.title; 
document.title = "Print page title"; 
window.print(); 
document.title = originalTitle; 

esta manera una vez que imprima la página, este volverá a tener su título original .

Cuestiones relacionadas