24 jun 2011

Imprimir contenido de divs especificos

hola a todos hoy vuelvo a escribir en el blog luego de haber dejado de hacerlo por temas de trabajo y que sufri el robo de mi laptop con toda mi información y sistemas que me encontraba desarrollando por eso he tenido que hacer jornadas dobles hasta triples de trabajo para poder ponerme al dia con los entregables que tenia que reportar. Bueno tendria una y mil cosas mas que decirles pero vayamos defrente al tema que nos interesa.
ayer un amigo (de la universidad) me hizo una consulta y me planteo el siguiente tema. mira yo estoy haciendo un reporte de unas tablas de mi base de datos pero el detalle es que los estoy mostrando en html y si hago un boton imprimir me va a imprimir toda la pagina y solo quiero imprimir el div donde esta la tabla con los los datos SI!
bueno ahora viene la cosa interesante si seria de imprimir la pagina entera bastaria con un window.print(); en un link que diga imprimir
entonces me dejo con la duda y la interrogante y la solucion que le prpuse fue la siguiente para que podamos imprimir de manera sencilla el contenido de un div y la comparto con ustedes


<DIV ID="divimpresion">Este texto es lo que se imprimirá cuando se pulse el enlace.</DIV>

En esa página colocamos un enlace o un botón que llame a la función de imprimir

<a href="javascript:imprimirSelec('divimpresion')" >Imprime ficha</a>

ahora todo el asunto nos quedaria enviar la impresión parcial del documento osea nuestro div
para eso necesitamos la siguiente función javascript

<script language="Javascript">
function imprimirSelec(nombre)
{
var ficha = document.getElementById(nombre);//almacenamos en variable los datos del div a imprimir
var ventimp = window.open(' ', 'Impresion');//aqui se genera una pagina temporal
ventimp.document.write( ficha.innerHTML );//aqui cargamos el contenido del div seleccionado
ventimp.document.close();//cerramos el documento
ventimp.print( );//enviamos los datos a la impresora
ventimp.close();//cerramos ventana temporal
}
</script>
ahora si a ponerse al dia en el blog no se preocupen lectores cibernautas estare colgnado nuevas inquietudes
y codigos utiles hasta la proxima