Categorías destacadas
programacion php    
Artículo
0
¡votar!

 Forzar un salto de página en la impresión

1 . Introducción
2 . Para Internet Explorer (versión 4.0 o superior)
3 . Para Netscape Navigator (versión 4 o superior)

En la línea de los artículos relacionados con la impresión, en este taller te presentamos el procedimiento a utilizar para forzar un salto de página al imprimir una página Web desde el navegador.

Introducción

Si has tratado nunca de imprimir una página Web a menudo habrás sido víctima de saltos de página en secciones inesperadas y poco prácticas. Esto puede evitarse aplicando un pequeño recurso de DHTML (y más concretamente hojas de estilo) para Internet Explorer y mediante un truquillo muy sencillo en el caso de Netscape.

En ambos casos deberás disponer de versiones 4.0 o superior. No se pretende juzgar que navegador implementa mejor esta característica (en otros sitios web encontrarás extensa documentación a favor y en contra de ambos), simplemente selecciona el código que necesitas (en el mejor de los casos aplica ambos trucos) o pruebalo tu mismo imprimiendo esta página de ejemplo.

Para Internet Explorer (versión 4.0 o superior)

Debes crear una hoja de estilos y definir el tag H1 del como sigue: (recuerda que debes insertar el tag style dentro del tag head del documento).

<STYLE>
 H1.SaltoDePagina
 {
     PAGE-BREAK-AFTER: always
 }
</STYLE>

En el sitio en que quieras forzar el salto de página deberás poner el tag h1 aplicando el estilo SaltoDePagina definido anteriormente.

<H1 class=SaltoDePagina> </H1>

Para Netscape Navigator (versión 4 o superior)

Netscape no procesa el estilo PAGE-BREAK-AFTER con lo cual deberemos aplicar un truco simple pero efectivo para conseguir nuestro propósito.

Inserta todos aquellos contenidos que deseas se incluyan en una página dentro de una tabla ya que cuando una tabla no puede imprimirse por completo en una página Netscape fuerza un salto de página. Por ejemplo:

<table>
<tr><td>
Introduzca aquí los contenidos correspondientes a la página 1.
</td></tr>
</table>
<table>
<tr><td>
Introduzca aquí los contenidos correspondientes a la página 2.
</td></tr>
</table>
   
Publicado por:
Walter Nieves
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
Anónimo dice:

en el comentario anterior se omitieron los corchetes de las etiquetas, decía que en lugar de utilizar el H1 utilicé la etiqueta DIV, de igual manera debe de funcionar con cualquier otra etiqueta. Saludos

18/06/2009, a las 03:25:58
Anónimo dice:

Agradezco el aporte me funciono perfectamente en IE7, únicamente agrege ; al final de la línea del salto y en lugar de utilizar utilicé un , de igual manera funciona perfectamente! Saludos

18/06/2009, a las 03:23:39
Anónimo dice:

Como ponía en otros comentarios para otras versiones, si se pone   entre los h1 donde se fuerza el salto de página, funciona correctamente

12/11/2008, a las 12:33:08
Anónimo dice:

Funciona perfecto para internet explorer 6, pero para el 7 no hace el salto de página. Alguien sabe como hacerlo Gracias

03/11/2008, a las 15:41:17
Anónimo dice:

al principio una parte y donde va el salto de pagina la otra parte, y me funciono, muchas gracias....

02/08/2008, a las 03:21:39
Anónimo dice:

Hola a todos 1-realizo una busqueda en php-mysql 2-me arroja una serie de recibos generados con los datos de la base, pero al querer imprimirlos se desfasa y salen recibos cortados 3pregunta, ¿como inserto un salto de pagina cada 2 resultados? o sea quiero 2 recibos por hoja A4

13/06/2008, a las 16:22:21
Anónimo dice:

Hola, tengo una duda, esto nos ayuda a administrar la impresion??? A que me refiero: Si tengo una pagina PHP llena de TEXTAREAS y TEXTINPUTS que se llenan mediante consultas MYSQL (Lo que quiere decir que con el tiempo cambian de tamaño por el texto y el contenido) El salto de linea considera esos cambios?? Yo estaba buscando algo que me ayude a saber cuantas paginas se van a imprimir, o algo que me diga en que pagina me encuentro, algo asi como encabezado o marca de agua o un texto por ahi. Saludos y gracias por la atencion!

03/07/2007, a las 21:56:22
Anónimo dice:

Estupendo, funciona de maravilla

06/03/2007, a las 21:33:45
Anónimo dice:

Muy buen codigo... listo para usarse

23/01/2007, a las 21:38:06
Anónimo dice:

Hola. Llevo tiempo buscando la forma de insertar un salto de pagina de forma automatica en una pagina y no he dado con la solucion. A parecer tendria que funcionar poniendo page-break-before:auto pero no es asi. El problema que tengo es que quiero que la informacion contenida en una tabla me la muestre completa en la pagina actual , y en caso de que no haya sitio suficiente en la pagina actual me haga un salto de pagina.

09/08/2006, a las 13:47:40
Anónimo dice:

Facil y eficiente Codigo, como principiante también es entendible

07/04/2006, a las 16:10:22
Anónimo dice:

Muy práctico y útil, gracias

18/01/2006, a las 13:48:50
Anónimo dice:

Muchas gracias por esta ayuda, me ha funcionado a la primera.

13/12/2005, a las 13:04:28
Anónimo dice:

Este es el ejemplo de un código sencillo pero bastante útil. Esto es de gran ayuda para la comunidad MUCHAS GRACIAS.

25/03/2005, a las 18:53:38
Anónimo dice:

Muchas gracias... me funcionó a la primera.. =)

12/03/2005, a las 18:44:01
Anónimo dice:

Gracias por tener a disposicion este codigo. funciona correctamente

28/12/2004, a las 19:59:21
Anónimo dice:

Tu aporte ha resultado en una gran solución.. Gracias.

04/08/2004, a las 01:53:52
Anónimo dice:

Muy agradecido, el tema me tenía loco y ya no sabía a quien preguntar. Con gente como tú da gusto dedicarse a esto de la informática.

27/04/2004, a las 19:23:42
Anónimo dice:

No lo hubiera sacado jamas. MUCHAS GRACIAS.

01/03/2004, a las 22:53:52
Anónimo dice:

en cualquier etiqueta que acepte la propiedad style pueden ser , etc

02/10/2003, a las 20:22:58
Anónimo dice:

en cualquier etiqueta que acepte la propiedad style pueden ser , etc ejemplo

02/10/2003, a las 20:21:59
Anónimo dice:

en cualquier etiqueta que acepte la propiedad style pueden ser , etc ejemplo

02/10/2003, a las 20:19:39
Anónimo dice:

Solo un apunte. En las versiones de IE 4.0 y 5.0 si entre las etiquetas que fuerzan el salto de página no se encuentra un caracter no se produce el salto de página. Ejemplo:  

17/09/2003, a las 15:28:03
Anónimo dice:

Gracias! en verdad me ahorraste mucho tiempo de buscar la forma de hacer eso. Ahora me gustaria saber si se puedo establecer los margenes de impresion mediante codigo. He buscado pero hasta ahora no encuentro una solución. Muchas gracias :)

03/09/2003, a las 13:41:05
Anónimo dice:

Hacia dias que me estaba rompiendo la cabeza...

16/06/2003, a las 16:48:51
Anónimo dice:

Hola Sabes escribi el codigo en una pagina ASP pero no funciona dime cual puede ser el problema Gracias

24/04/2003, a las 22:56:43
Anónimo dice:

Ademas de controlar el salto de pagina, existe alguna manera de controlar mas propiedades del navegador a la hora de imprimir (tamaño hoja, margenes, encabezado, pie de pagina ,...)

01/04/2003, a las 17:31:48
Anónimo dice:

Otro problema con el que me he encontrado, es que, al insertar un salto de página, lo que queda de la página antes de ese salto de página se justifica verticalmente, es decir, que los elementos de la página se estiran para cubrir toda la página. A mi lo que me interesaría es que todo lo que queda en esa página, quedara alineado verticalmente en el top, dejando el hueco en la parate de abajo. ¿a alguien le ha pasado esto también? Muchas gracias por todo y saludos.

24/02/2003, a las 12:00:42
Anónimo dice:

Muchas gracias por el código. Pero sabríais de una manera para que la inserción de los saltos fuera dependiente del tamaño de los datos? Es decir, tengo una página con textareas sin una altura fija y tablas sin un numero de registros fijos. Así, no sé exactamente donde insertar el salto de página, demenpe del número de rows que tienen las textareas y del número de registros que el usuario introduce en las tablas. He probado a introducir esta instrucción con el valor auto. Así: page-break-before:auto en todos los lugares donde se puede producir un salto de página, pero no funciona. ¿Alguien conoce la solución? Muchas gracias por todo.

24/02/2003, a las 11:45:04
Anónimo dice:

tengo mi pagina pero el problema que al mandarla a imprimir normal osea vertical la pagina sale cortada de un costado ya que el texto se sale del area de impresion y de forma horizontal sale completa, yo lo que quiero esque me salga completa de forma vertical habra alguna forma, te agradezco tu ayuda.gracias.

12/02/2003, a las 04:28:03
Anónimo dice:

Gracias. Me lo has ahorrado centos de horas. Me estaba rompendo la cabeza

21/12/2002, a las 14:56:31
Anónimo dice:






Y donde quieres hacer el salto de pagina al imprimir se añade

 

08/11/2002, a las 10:24:27
Anónimo dice:

"" "" "" Y donde quieres hacer el salto de pagina al imprimir se añade "

 

"

08/11/2002, a las 10:21:54
Anónimo dice:

Y donde quieres hacer el salto de pagina al imprimir se añade

 

08/11/2002, a las 10:20:10
Anónimo dice:

El ejemplo mostrado no funciono alguna persona tiene una pagina con este codigo funcionando para verlo, si es posible que lo envién.... gacias

03/10/2002, a las 19:40:38
Anónimo dice:

Para los que no les funcionen estas instrucciones probar PAGE-BREAK-BEFORE

01/10/2002, a las 10:26:03
Anónimo dice:

Supongo que eso esta bien pero a mi no me ha funcionado. Utilizo iE5.0. Un saludo y hasta pronto. @pple

19/07/2002, a las 09:03:18
Anónimo dice:

Me imagino que si lo pongo dentro de un ciclo, se comporta igual. ???? Muchas Gracias.

11/06/2002, a las 18:46:19
Anónimo dice:

Sabes, podrías enviarme una parte de código con el ejemplo ya que no me funciona en IE5.0. Muchas Gracias.

11/06/2002, a las 18:45:28
Anónimo dice:

Por favor podrian enviarme algún código de ejemplo para realizar un salto de página dentro de un ciclo, es decir estoy trabajando con java y HTML estoy trantando de inprimir unlistado que se genera dentro de un ciclo. trabajano con IE 5.5 Muchas Gracias de antemano.

05/04/2002, a las 08:20:30
Anónimo dice:

Lo que nos habeis enseñado es lo unico que nos faltaba para ser ricos... MUCHISIMAS GRACIASSSSSSSS

08/03/2002, a las 06:42:16
Anónimo dice:

Pues que alguien m lo cuente, pq no funciona en netscape Introduzca aquí los contenidos correspondientes a la página 1. Introduzca aquí los contenidos correspondientes a la página 2.

13/02/2002, a las 23:57:37
Anónimo dice:

Escribiendo &nbsp; funciona para IE. Por cierto: Si alguien sabe como imprimir en apaisado desde JavaScript estaría muy agradecido.

21/12/2001, a las 03:04:26
Anónimo dice:

necesito ayuda urgente para ie 5.0 no me funciona el salto . me podiais mandar un ejemplo. Muchisimas gracias.

16/12/2001, a las 22:06:27
Anónimo dice:

Me podría alguien mandar un ejemplo del código necesario para forzar los saltos de página en IE5. Es urgente. Muchas Gracias.

10/12/2001, a las 04:35:27
Anónimo dice:

Esto nos acaba de salvar la vida!!!!! Muchas gracias. Usamos IE6 y funciona de cine.

21/11/2001, a las 22:02:09
Anónimo dice:

Me podría alguien especificar para que navegador netscape funciona este truco? Yo he probado con NS4.0 y con NS6.1 y no funciona con ninguno de los dos.

24/10/2001, a las 01:50:10
Anónimo dice:

Gracias por el código. Vale para el trabajo que debo realizar. Pero una pequeña pega: Cuando quiero realizar el salto de página, a mi me funciona si escribo lo siguiente &nbsp; Si quito la cadena &nbsp; deja de funcionar. Muchas Gracias !! Saludos

14/06/2001, a las 06:40:43
Anónimo dice:

Yo tengo IE 5.0 y no me funcionaba, entonces le aumente el codigo que según es para el Netscape y solamente me funciono así Ejemplo: table tr td ******texto /td /tr /table H1 class=SaltoDePagina&nbsp; td *******texto /td /tr /table (los signos ( H1.SaltoDePagina { PAGE-BREAK-AFTER: always } /STYLE

29/05/2001, a las 06:43:57
Anónimo dice:

Yo tengo IE 5.0 y no me funcionaba, entonces le aumente el codigo que según es para el Netscape y solamente me funciono así Ejemplo: ******texto *******texto claro que tienes que tener el: H1.SaltoDePagina { PAGE-BREAK-AFTER: always }

29/05/2001, a las 06:36:28
Anónimo dice:

He probado la solucion que das para NS con NS 4.7 y no funciona, me explico, he puesto dos tablas una que ocupa aprox el 75% de la pantalla y otra que ocupa mas y no imprime las tablas por separado en distintas paginas, eso si el esilo funciona de put* madre pero es solo para la familia MSIE, en fin larga vida a las CSS compatibles con IE

27/04/2001, a las 05:00:36
Anónimo dice:

Esté ejemplo está muy bueno, de verdad nos has ayudado a solucionar mucho trabajo. Para controlar la paginación de nuestros reportes en la web

23/02/2001, a las 15:43:49
Anónimo dice:

Me solucionaste un gran problema...

06/02/2001, a las 11:54:42
Anónimo dice:

Me sirvio mucho, me habia roto la cabeza tratando de hacerlo GRACIAS!!!!

04/02/2001, a las 08:38:00
Anónimo dice:

Que dios te lo page con muchos hijos...!!! Nos has ahorrado 1.000.000 de $. Un saludo

01/02/2001, a las 04:07:12
Anónimo dice:

Muchas gracias por la ayuda, tengo días sin dormir buscando una solución.

06/01/2001, a las 07:22:49
Anónimo dice:

Muchas gracias por la ayuda, tengo días sin dormir buscando una solución.

06/01/2001, a las 07:21:56
Anónimo dice:

Al fin! Muchas gracias, esto me supone la solución a un problema que me estaba rompiendo la cabeza

01/12/2000, a las 02:16:48
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon