poner pie pagina hoja hacer encabezado diferente definicion como cada html css header printing footer

html - pagina - ¿Hay alguna forma de obtener un encabezado/pie de página web impreso en cada página?



encabezado y pie de pagina word (4)

Basado en mi investigación, parece que lo que quiero hacer no es posible, pero en caso de que algo haya cambiado, quería verificar si alguien había encontrado una manera de hacerlo.

Tengo una aplicación web que genera informes para imprimir según las selecciones de los usuarios en la ventana del navegador. Tengo un encabezado y pie de página personalizado que, cuando se imprime el informe desde el navegador, debe repetirse en cada página impresa. No es el encabezado y el pie de página del navegador que necesito, sino los personalizados que genero. Además, no creo que este sea un problema de CSS y tipos de medios, pero no soy un experto en CSS. No tengo problemas para imprimir el encabezado y el pie de página una vez, pero no puedo hacer que se impriman en cada página. He leído que quizás si recreé mis páginas de informes usando tablas, y luego usé etiquetas de cabecera de tabla y CSS, eso puede funcionar al menos para obtener el encabezado en cada página. Todavía no he tenido éxito con esto, pero lo intentaré de nuevo si es la única opción. Un compañero de trabajo me sugirió que cuente las líneas en mi php y coloque manualmente el encabezado y el pie de página según sea necesario. ¡Supongo que es una opción, pero parece que debería haber una manera de hacer esto que no sea la "fuerza bruta"!

La otra advertencia es que tengo que soportar IE 6, así que sospecho que algunas de las cosas de CSS que he probado simplemente no son compatibles.

Si alguien sabe alguna manera de hacer esto, ¡sería genial! Si no lo hay, tendré que repensar mi enfoque.

¡Gracias por adelantado!

ACTUALIZACIÓN (14 de diciembre de 2011)

Logré un progreso considerable con este tema y, usando algo de la información de las respuestas, produje informes que se podían usar, pero nunca tan bien o tan profesional como yo quería. Los pies de página tendían a no estar lo suficientemente cerca de la parte inferior de la página, tuve que hacer muchos cálculos y cálculos "frágiles" sobre qué tan grande iba a ser el texto para decidir insertar saltos de página, solo podía apoyar una restricción un conjunto de formatos de página y cualquier cambio en los informes resultó en una cascada de cambios de código y aún más cálculos frágiles. Siempre hubo un escenario que rompió parte de algún informe. Revisamos los requisitos y ahora generamos informes en formato PDF utilizando TCPDF . La documentación es un tanto opaca y requiere un poco de experimentación, pero los resultados son muy superiores y ahora los informes aparecen como deberían. Diría a cualquiera que intente hacer informes HTML desde el navegador, a menos que sean muy simples, ahórrese la frustración (como me dijeron otros aquí) y vaya con archivos PDF o algo similar.


Esto funcionará en algunos navegadores, no en todos. No creo que haya una solución elegante entre navegadores

Incluya el pie de página / encabezado de impresión que desea en los divs en la página (en este ejemplo div id = ''imprimibleFooter'')

En la pantalla, el archivo css pone:

#printableFooter {display: none;}

En el archivo de impresión css:

#printableFooter {display: block; position: fixed; bottom: 0;}


Se puede hacer con tablas, y sé que voy a arriesgar un voto negativo al sugerir el uso de tablas para el diseño, pero estamos hablando de IE6 aquí, que no es conocido por su fantástico soporte de CSS :-)

Si configura un estilo CSS de la siguiente manera:

thead { display: table-header-group; } tfoot { display: table-footer-group; }

Luego, cuando crees tu HTML, renderiza tu cuerpo como:

<body> <table> <thead><tr><td>Your header goes here</td></tr></thead> <tfoot><tr><td>Your footer goes here</td></tr></tfoot> <tbody> <tr><td> Page body in here -- as long as it needs to be </td></tr> </tbody> </table> </body>

Sí, no es bueno (tablas vs CSS), no es ideal, pero (lo que es más importante para usted) funciona en IE6. No puedo comentar sobre Firefox porque no lo he probado allí, pero debería hacer el trabajo. Esto también manejará páginas de diferentes tamaños, diferentes tamaños de fuente, etc. por lo que debería "funcionar".

Si desea que el encabezado y el pie de página solo aparezcan en medios impresos, utilice los parámetros @media para hacer lo correcto:

@media print { thead { display: table-header-group; } tfoot { display: table-footer-group; } } @media screen { thead { display: none; } tfoot { display: none; } }

Nota
A partir de julio de 2015, esto solo funcionará en Firefox e IE. Los navegadores basados ​​en Webkit (consulte Chrome, Safari) tienen errores de larga data en sus rastreadores de problemas si alguien se siente lo suficientemente fuerte como para votar sobre ellos:

Los comentarios debajo de esta pregunta me dicen que esto ahora se resuelve en Chrome. No me he revisado a mí mismo :-)

Los errores originales contra Chrome (para referencia) son:


Sugeriría dividir la página en la tabla y agregar la parte del encabezado a la primera fila y la parte del pie de página a la última fila. El contenido de las filas entre la primera y la última fila se puede cambiar dinámicamente para que obtenga el encabezado y el pie de página constantes en las páginas deseadas.

---------- ROW1 HEADER ---------- ROW2 Insert dynamic contents here ROW N-1 ---------- ROW N Footer


intente generar un documento (rtf | pdf) para imprimir