Foros del Web » Programando para Internet » Javascript »

Imprimit el contenido de un DIV

Estas en el tema de Imprimit el contenido de un DIV en el foro de Javascript en Foros del Web. Hola, He estado buscando durante un tiempo una forma de imprimir el contenido de un DIV que tengo dentro una página web, y si bien ...
  #1 (permalink)  
Antiguo 30/12/2010, 09:29
Avatar de elsoba  
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Imprimit el contenido de un DIV

Hola,

He estado buscando durante un tiempo una forma de imprimir el contenido de un DIV que tengo dentro una página web, y si bien aquí he encontrado como hacerlo, se me ha presentado un problema que creo nadie ha planteado.

El DIV en el cual se encuentra el contenido que deseo imprimir tiene como parámetros height:200px y overflow:auto para forzar el scroll ya que su contenido es mayor.

Ahora bien el problema se presenta al intentar imprimir su contenido ya que sólo se imprime lo que llega a verse de esos 200px quedando fuera de la impresión lo que supera esa altura.

Quisiera saber si existe alguna manera de lograr que se imprima todo el contenido.

Aquí debajo les dejo un ejemplo del código que estoy utilizando.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.  
  5. <style type="text/css">
  6. @media print {
  7.     div,a {display:none}
  8.     .ver {display:block}
  9.     .nover {display:none}
  10. }
  11.  
  12. function impre(num) {
  13.     document.getElementById(num).className="ver";
  14.     print();
  15.     document.getElementById(num).className="nover";
  16. }
  17.  
  18. </head>
  19.  
  20.  
  21.  
  22.  
  23. <div id="uno">Barra de menús</div>
  24. <a href="#" onclick="impre('uno');return false">Imprime 1</a>
  25.  
  26. <div id="dos" style="width:500px; height:200px; overflow:auto;">
  27.     <p>Imprimir este documento</p>
  28.     <p>Imprimir este documento</p>
  29.     <p>Imprimir este documento</p>
  30.     <p>Imprimir este documento</p>
  31.     <p>Imprimir este documento</p>
  32.     <p>Imprimir este documento</p>
  33.     <p>Imprimir este documento</p>
  34.     <p>Imprimir este documento</p>
  35.     <p>Imprimir este documento</p>
  36.     <p>Imprimir este documento</p>
  37.     <p>Imprimir este documento</p>
  38.     <p>Imprimir este documento</p>
  39.     <p>Imprimir este documento</p>
  40.     <p>Imprimir este documento</p>
  41.     <p>Imprimir este documento</p>
  42.     <p>Imprimir este documento</p>
  43.     <p>Imprimir este documento</p>
  44.     <p>Imprimir este documento</p>
  45. </div>
  46. <a href="#" onclick="impre('dos');return false">Imprime 2</a>
  47.  
  48. </body>
  49. </html>
  #2 (permalink)  
Antiguo 30/12/2010, 11:24
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 19 años
Puntos: 79
Información Respuesta: Imprimit el contenido de un DIV

Prueba con esto!!

salu2


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.  
  5. <style type="text/css">
  6. @media print {
  7.     a {display:none}
  8.    
  9.     .formatoprint{
  10.         width:auto;
  11.         height:auto;
  12.         overflow:hidden;
  13.     }
  14. }
  15.  
  16. @media screen {
  17.     .formatodoc{
  18.         width:500px;
  19.         height:200px;
  20.         overflow:auto;
  21.     }
  22. }
  23.  
  24. function impre() {
  25.     print();
  26. }
  27.  
  28. </head>
  29.  
  30.  
  31.  
  32.  
  33. <div id="uno">Barra de menús</div>
  34. <a href="#" onclick="impre();return false">Imprime 1</a>
  35.  
  36. <div id="dos" class="formatodoc formatoprint">
  37.     <p>Imprimir este documento Linea 1</p>
  38.     <p>Imprimir este documento Linea 2</p>
  39.     <p>Imprimir este documento Linea 3</p>
  40.     <p>Imprimir este documento Linea 4</p>
  41.     <p>Imprimir este documento Linea 5</p>
  42.     <p>Imprimir este documento Linea 6</p>
  43.     <p>Imprimir este documento Linea 7</p>
  44.     <p>Imprimir este documento Linea 8</p>
  45.     <p>Imprimir este documento Linea 9</p>
  46.     <p>Imprimir este documento Linea 10</p>
  47.     <p>Imprimir este documento Linea 11</p>
  48.     <p>Imprimir este documento Linea 12</p>
  49.     <p>Imprimir este documento Linea 13</p>
  50.     <p>Imprimir este documento Linea 14</p>
  51.     <p>Imprimir este documento Linea 15</p>
  52.     <p>Imprimir este documento Linea 16</p>
  53.     <p>Imprimir este documento Linea 17</p>
  54.     <p>Imprimir este documento Linea 18</p>
  55.     <p>Imprimir este documento Linea 19</p>
  56.     <p>Imprimir este documento Linea 20</p>
  57. </div>
  58. <a href="#" onclick="impre();return false">Imprime 2</a>
  59.  
  60. </body>
  61. </html>
  #3 (permalink)  
Antiguo 30/12/2010, 12:52
Avatar de elsoba  
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Imprimit el contenido de un DIV

Muchas gracias Perro, el código funciona bárbaro, salvo que también se imprime el contenido del DIV "uno" y quisiera que no se pueda imprimir, porque allí iria un encabezado que no debe formar parte de la impresión.

Si pudieras darme una mano con esto te lo agredesería muchisimo.

Saludos
  #4 (permalink)  
Antiguo 30/12/2010, 13:20
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 19 años
Puntos: 79
Respuesta: Imprimit el contenido de un DIV

Cita:
Iniciado por elsoba Ver Mensaje
Muchas gracias Perro, el código funciona bárbaro, salvo que también se imprime el contenido del DIV "uno" y quisiera que no se pueda imprimir, porque allí iria un encabezado que no debe formar parte de la impresión.

Si pudieras darme una mano con esto te lo agredesería muchisimo.

Saludos
deberias reemplazar

Código CSS:
Ver original
  1. a {display:none}

por

Código CSS:
Ver original
  1. a,#uno {display:none}

modifique algunas cosas que estaba demas por ello el cambio, comparalo con tu anterior por la parte estilos...

salu2

Etiquetas: contenido
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 21:14.