Foros del Web » Programando para Internet » Javascript »

funciones de impresion

Estas en el tema de funciones de impresion en el foro de Javascript en Foros del Web. Compañeros, tengo un problema, tengo algo en pantalla que necesito imprimir, para lo que hago esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código html: Ver original < div id ...
  #1 (permalink)  
Antiguo 22/04/2009, 14:21
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
funciones de impresion

Compañeros, tengo un problema, tengo algo en pantalla que necesito imprimir, para lo que hago esto:

Código html:
Ver original
  1. <div id="noprint">
  2.                     <p>&nbsp;</p>
  3.                     <p>
  4.                       <input name="imprimir" type="button" onClick="doPrint();" value="Imprimir">
  5.                       </p>
  6.               </div>

en la funcion pongo esto:

Código javascript:
Ver original
  1. function doPrint(){
  2. document.all.item("noprint").style.visibility='hidden'
  3. window.print()
  4. }

lo que hace es que me oculta todo lo que haya en el div con id="noprint"

el problema no es ese, ahi marcha bien. lo que pasa es que al darle en el boton imprimir debo imprimir en la misma hoja... dos veces lo que tengo. entonces supongamos, tengo una tabla al darle en el boton "imprimir" me aparece la ventana para escojer la impresion y debo darle dos copias por que necesito las dos, pero me sale una tabla (que ocupa menos de media hoja) en una hoja.

lo que quiero es que en la misma hoja me salgan las dos.

alguien sabe hacerlo?

gracias de antemano.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 22/04/2009, 14:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: funciones de impresion

Lo mejor para estos casos es usar una hoja de estilos (CSS) para impresión (media="print") con la cual ocultas todos los elementos que no quieres que salgan al imprimir.

http://www.csslab.cl/?p=15
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/04/2009, 14:42
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: funciones de impresion

se ve interesante. leo y les comento como fue, a ver si aparece lo de las dos copias en la misma hoja
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 23/04/2009, 06:41
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: funciones de impresion

no men, no veo como hacer lo que necesito ahi, no habra alguna funcion en javascript que me permita tomar todo el html que se imprime en la pagina y tomarlo en una variable y volverlo a imprimir?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #5 (permalink)  
Antiguo 23/04/2009, 09:44
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: funciones de impresion

listo ya tengo la solucion a lo que necesitaba,

primero debemos tener el codigo que queremos duplicar en un div pongamos

Código html:
Ver original
  1. <div id="copia1"> codigo..... </div>

y luego uno donde queremos que sea duplicado
Código html:
Ver original
  1. <div id="copia2"> </div>

pongamosle en el evento del boton como lo tenia

Código javascript:
Ver original
  1. function doPrint(){
  2.       copiar("copia1","copia2");
  3.       document.all.item("noprint").style.visibility='hidden'
  4.       window.print()
  5. }

y la funcion copiar::

Código javascript:
Ver original
  1. function copiar(origen,destino){
  2.     var original = document.getElementById(origen);
  3.     var copia = original.cloneNode(1);
  4.     document.getElementById(destino).innerHTML='';
  5.     document.getElementById(destino).appendChild(copia);
  6. }


original.cloneNode(1); es el numero de copias, creo.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
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:52.