SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: lair en Lunes 11 de Mayo de 2009, 18:56

Título: Imprimir un solo div
Publicado por: lair en Lunes 11 de Mayo de 2009, 18:56
hola a todos:

tengo una pregunta, se puede imprimir solo el contenido de un div??

buscando me eh encontrado con codigoc como este.

Código: Text
  1. <style type="text/css" media="print">
  2. * {display:none}
  3. body, #impre {display:block}
  4. </style>
  5.  

pero lo que hacen es mostrar el div, mientras que lo que yo quiero es imprimir a traves de la impresora, (en papel).

por su tiempo muchas gracias.
Título: Re: Imprimir un solo div
Publicado por: su - en Martes 12 de Mayo de 2009, 00:22
Hay una gran diferencia entre JavaScript y CSS... lo que pones ahi es CSS.
Citar
pero lo que hacen es mostrar el div, mientras que lo que yo quiero es imprimir a traves de la impresora, (en papel).
Imagina por un rato que alguien pone codigo JavaScript que hace eso en esta pagina, entonces todo el mundo que entra a esta pagina, si tiene una impresora prendida, imprimiria sin intencion alguna esta pagina.

La respuesta es no, no se puede, y es por cuestiones de "seguridad" como puedes ver con el ejemplo anterior.

Depronto si hace un plugin para Explorer, Firefox, y KHTML (Safari y Konkeror).
Título: Re: Imprimir un solo div
Publicado por: lair en Martes 12 de Mayo de 2009, 00:31
gracias su -.

mi duda salio a raiz de la instruccion
Código: Text
  1. window.print()
  2.  
por lo que se me ocurrio que si hacia algo paresido con un div podria funcionar. Algo como esto.
Código: Text
  1. <div id='imprimir'>
  2. (aqui todo el contenido del div: tablas, imagenes, etc.)
  3. </div>
  4.  
y en algun lugar colocar un link:
Código: Text
  1. <a href='javascript:mi_funcion()'>Imprimir</a>
  2.  
y en mi funcion el siguiente codigo.
Código: Text
  1. function mi_funcion(){
  2. document.getElementById('imprimir').print();
  3. }
  4.  
solo que no es asi y crei que yo estaba haciado algo mal.

pero en fin, gracias por su tiempo y ayuda.
Título: Re: Imprimir un solo div
Publicado por: su - en Martes 12 de Mayo de 2009, 00:38
:ouch: Me como mis palabras... de verdad que existe... ¡Una razon mas para odiar a JavaScript!  <_<

Gracias a ti por el dato.
Título: Re: Imprimir un solo div
Publicado por: lair en Martes 12 de Mayo de 2009, 00:55
bueno, siendo asi seguire intentando, me imagino que debe haber alguna forma de hacerlo
Título: Re: Imprimir un solo div
Publicado por: shakka en Miércoles 13 de Mayo de 2009, 16:43
Yo uso una funcion como esta :

Código: Text
  1. function printSelec(id)
  2. {
  3. var c, tmp;
  4.  
  5.     c = document.getElementById(id);
  6.        
  7.     tmp = window.open(" ","Impresión.");
  8.    
  9.     tmp.document.open();
  10.     tmp.document.write('<head><link href="/css/print.css" type="text/css" rel="stylesheet"/></head>'); //Esto es omitible
  11.     tmp.document.write(c.innerHTML);
  12.     tmp.document.close();
  13.     tmp.print();
  14.     tmp.close();
  15. }
  16.  
Título: Re: Imprimir un solo div
Publicado por: lair en Jueves 14 de Mayo de 2009, 01:23
si, precisamente estaba pensado el imprimir el codigo desde otra ventana, ya quitando el encabezado y el pie de pagina.

nadamas una pregunta, al hacer eso ¿si ocupa mas de una pagina como de comporta?.

gracias por su tiempo y ayuda
Título: Re: Imprimir un solo div
Publicado por: shakka en Jueves 14 de Mayo de 2009, 17:34
A que se se refiere en que, si ocupa mas de una pagina?

Pues para eso se le muestra la pantalla de configuracion de impresion si tiene que hacer ajustes o imprimir asi no mas, hace las pruebas de lo que necesitas.