Pregunta

Estoy generando un documento a partir de HTML.¿Hay alguna forma de forzar que la página HTML se represente como una página impresa?

He hecho la mayor parte de la página con <table> y <div> etiquetas.

¿Fue útil?

Solución

No exactamente, pero puede usar una hoja de estilo de impresión:

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

Para establecer tamaños de fuente, rellenos, etc. en unidades físicas como 'pt' (¡eso nunca se debe usar en una hoja de estilo de pantalla!) para que termine siendo más o menos una página A4, cuando se procesa en una típica navegador, con fuentes típicas, con un siguiente viento. Nada está garantizado, pero puede optimizar para el caso común.

En la impresión, no tiene que preocuparse tanto por las preferencias de tamaño de fuente o la configuración de ppp, pero aún no puede controlar los márgenes que usa el navegador o el tamaño real de la página (la letra de EE. UU. es menor que A4), así que deje una buena cantidad de margen de maniobra y prueba en los principales navegadores.

Otros consejos

No. No puede controlar el nivel de zoom del usuario, la configuración de la impresora, el tamaño del papel (¿está usando papel A4 en Europa o legal en los Estados Unidos?) Y todas las otras cosas que afectan la salida de la impresora usando HTML.

Lo mejor que puede hacer con HTML es hacer un & Quot; fácil de imprimir & Quot; página y mantener el contenido corto. Alternativamente, puede crear un PDF, que está diseñado para permitirle controlar cómo se imprime.

Usar PDF. Puede forzar muchas cosas, como el tamaño de fuente, el tipo de fuente y muchos otros parámetros, pero cualquier navegador puede decidir que no le importa y usar lo que quiera y así violar sus requisitos previos o decisiones. HTML no es (repite después de mí: NO es) un lenguaje de presentación.

En muchos casos, funcionará principalmente, pero nada es seguro.

Puede usar CSS para diseñar la página y establecerla en una altura / ancho determinados ... Hay un buen tutorial aquí .

No, pero puede hacer que la vista de impresión sea mucho más uniforme utilizando un archivo CSS dedicado para medios impresos, como se sugirió anteriormente.

Entonces, por ejemplo, al menos podría evitar que una tabla abarque más de 2 páginas utilizando " page-break-before: siempre; " .

Y finalmente también podrías usar " display: none; " en elementos que son innecesarios, como anuncios, barras de navegación, etc. para mantener la página en sí más corta (lo suficientemente corta para una sola página, con suerte).

Sin garantías, sin embargo.

Claro. Tienes un par de posibilidades:

  • Convierta su página en una imagen grande.
  • Convierta su página a PDF.
  • Moleste a todos sus usuarios con una página con dimensiones fijas que se desplaza hacia la izquierda y hacia la derecha porque es demasiado ancha y hace que sea extremadamente difícil transportar la información.

No, no hay forma de no saber el tipo de impresora o el tamaño del papel al momento de generar el HTML.

Mi única sugerencia sería establecer las propiedades de la impresora para escalar el contenido para que se ajuste a una página en el momento de la impresión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top