Foros del Web » Creando para Internet » CSS »

Imprimir HTML

Estas en el tema de Imprimir HTML en el foro de CSS en Foros del Web. Buenas, estoy intentando imprimir una web hecha con html. Tengo dos problemas que no consigo dar solución. 1. Al imprimir/preview (desde firefox), cuando hace un ...
  #1 (permalink)  
Antiguo 10/01/2014, 02:09
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Imprimir HTML

Buenas, estoy intentando imprimir una web hecha con html. Tengo dos problemas que no consigo dar solución.

1. Al imprimir/preview (desde firefox), cuando hace un salto de página dependiendo de como "cae" el texto, éste se corta. Supongamos la cadena "Texto", pues por ejemplo la mitad superior de la cadena aparece en una hoja y la otra mitad en la otra hoja.

2. He conseguido poner una cabecera con su margen superior, y un cuerpo con otro margen para cada hoja, pero lo que no consigo es un margen inferior para el cuerpo, que apriori si no se cortara el texto me daría un poco igual, pero si lo consigo quedaría mejor maquetada la impresión.

Quizas os parezca obvia la solución, disculparme, pero es que mis conocimientos en html son pobres, no suelo hacer nada en html.

Gracias de antemano.
Saludos.

CODIGO:


Código HTML:
Ver original
  1.  
  2. @page {size: auto; margin: 20px;20px;20px;20x}
  3.  
  4. @media print {
  5.   #cabecera{
  6.      position:fixed;
  7.      left:0;
  8.      top:0;
  9.   }
  10.   #cuerpo{
  11.      position:relative;
  12.      top:1cm;
  13.      bottom:2cm;
  14.   }
  15.   #pie{
  16.      position:fixed;
  17.      left:670;
  18.      top:0;
  19.   }
  20.   #pie:after{
  21.      counter-increment: page;
  22.      content: counter(page);
  23.   }
  24.   .seg_table {
  25.      border: 1px solid black;    
  26.      margin-top:15px;
  27.      margin-bottom:20px;
  28.   }
  29. }
  30.  
  31. @media screen {
  32.   #cabecera{
  33.     display:none;
  34.   }
  35.   #pie{
  36.     display:none;  
  37.   }
  38.  
  39. }
  40.  
  41.   <body>
  42.  
  43.     <div id=cabecera>
  44.       NOMBRE APELLIDO1 APELLIDO2
  45.     </div>  
  46.    
  47.     <div id=pie>
  48.       PAG.
  49.     </div> 
  50.    
  51.     <div id=cuerpo>
  52.    
  53.     <table class="seg_table">
  54.     <tr>
  55.     <td>
  56.       <br>texto</br>
  57.       <br>texto</br>
.....

El codigo que queda repite "<br>texto</br>" varias veces para provocar los saltos de página y luego cierra tr, td, table, div, body y html.

Última edición por pzin; 11/01/2014 a las 05:27 Razón: formato código
  #2 (permalink)  
Antiguo 10/01/2014, 03:08
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Imprimir HTML

Por lo visto si en vez de poner esto:

Código HTML:
Ver original
  1. <tr>
  2.  <td>
  3.  <br>texto</br>
  4.  <br>texto</br>
  5.  ...
  6.  <br>texto</br>
  7. </tr>
  8. </td>

pongo esto:

Código HTML:
Ver original
  1. <tr> <td>Texto</td> </tr>
  2. <tr> <td>Texto</td> </tr>
  3. ....
  4. <tr> <td>Texto</td> </tr>

no se corta el texto al producirse un salto de página.

Bueno, ahora voy a ver si averiguo como evitar que en la primera hoja no aparezca el encabezado.

Si a alguien se le ocurre algo ...

Última edición por pzin; 11/01/2014 a las 13:24 Razón: formato código
  #3 (permalink)  
Antiguo 10/01/2014, 20:16
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 11 años
Puntos: 39
Respuesta: Imprimir HTML

Lo cierto es que no he entendido muy bien que quieres hacer.

¿Quieres crear los estilos de impresión de una web? Seria bueno antes que nada tener todo el html limpio y estructurado, seguir con los estilos web y luego por lo estilos para impresión.

¿Tienes una imagen de ejemplo? Es que no me puedo hacer una imagen mental de lo que quieres lograr.

Ah y un consejo, identa un poco los anidamientos en el código para mejorar la lecturabilidad.

Código HTML:
Ver original
  1.  
  2.   <div id=cabecera>
  3.     NOMBRE APELLIDO1 APELLIDO2
  4.   </div>
  5.  
  6.   <div id=pie>
  7.     PAG.
  8.   </div>
  9.  
  10.   <div id=cuerpo>
  11.  
  12.   <table class="seg_table">
  13.     <tr>
  14.       <td>Texto</td>
  15.     </tr>
  16.     <tr>
  17.       <td>Texto</td>
  18.     </tr>
  19.     <tr>
  20.       <td>Texto</td>
  21.     </tr>
  22.    </table>
  23.  
  24. </body>
  25. </html>
  #4 (permalink)  
Antiguo 11/01/2014, 05:31
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Imprimir HTML

Bienvenido al foro.

Aplícale al elemento que no quieres que se corte page-break-inside. Por ejemplo, algo así:

Código CSS:
Ver original
  1. @media print {
  2.   table#seg_table {
  3.     page-break-inside: avoid;
  4.   }
  5. }

Y usa la opción de highlight cuando publiques código.

Etiquetas: html, impresion, pie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.