Foros del Web » Programando para Internet » ASP Clásico »

¿Como hacen este imprimir?

Estas en el tema de ¿Como hacen este imprimir? en el foro de ASP Clásico en Foros del Web. Hola gente, muchas veces pregunté cosas sobre como imprimir. Basicamente quiero que al tener una nota, y un botón de imprimir, al pulsarlo se abra ...
  #1 (permalink)  
Antiguo 24/10/2008, 13:49
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
¿Como hacen este imprimir?

Hola gente, muchas veces pregunté cosas sobre como imprimir.

Basicamente quiero que al tener una nota, y un botón de imprimir, al pulsarlo se abra un pop up con solamente una determinada parte de la nota, o sea sin las propagandas, sin el encabezado, etc.

El ejemplo de lo que quiero lo pude encontrar acá:
http://www.clarin.com/diario/2008/10...m-01788160.htm

Si hacen click sobre "Imprimir", se abre un popup con el div a imprimir. el cual es una página que se encuentra en:
http://www.servicios.clarin.com/nota...?pagid=1788160

por lo visto, esa pagina recupera unos valores que le mandamos al momento de hacer click sobre "imprimir", como recupera un div ?, o mejor dicho: como pasa toda una estructura por variable, desde un Javascript que recupera el DIV y de allí lo manda a una página con programación ?

jaaj como haceee ??

Desde ya muchas gracias.

Saludos
  #2 (permalink)  
Antiguo 24/10/2008, 13:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 20 años
Puntos: 839
Respuesta: ¿Como hacen este imprimir?

Esa página lo hace del lado del servidor, con una *.jsp obtiene los datos de algún lugar y lo pone en modo impresión, también se puede hacer con Javascript, abres el popup, luego dentro de él obtienes el div con opener.document.getElementById y su contenido con innerHTML, y con document.write o nuevamente con innerHTML colocas ese contenido en el popup y finalmente imprimes con window.print().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/10/2008, 14:22
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: ¿Como hacen este imprimir?

YEAP

basicamente es una pagina mas que solo tiene la información que se desea imprimir

es como que hagas una pagina llamada imprimirlimpio.asp

maquetes un CSS para impresión y listo

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #4 (permalink)  
Antiguo 24/10/2008, 21:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

Gracias por las respuestas.

Eso lo entiendo, yo sé que dentro del Javascript puedo abrir el pop up, recuperar el div a imprimir y ponerle la funcion window.print();

Hasta ahí lo puedo hacer, y de echo lo tengo así. Pero imaginense que yo, en dicho pop up quiera poner un encabezado, un pie de página con el logo de mi empresa, entonces, poner todo eso en el Javascript sería muy engorroso.

Pore eso quiero hacer lo siguiente:

Código:
<html>
<head>
<script language="JavaScript">
function imprimir(id)
{
var envio = "imprimir.asp" + "?parte=" + id;
var ventana = window.open(envio,"_blank","left=0,top=0,width=300,height=300,toolbar=no,location=no,status=no,menubar=no,resizable=no,scrollbars=1");
}
</script>
</head>
<body>
<div class="contenido">
  <div class="menu">
     <a href="javascript:imprimir('print')">Imprimir</a>
  </div>
  <div id="print">
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
  </div>
</div>
</body>
</html>
y luego en mi archivo imprimir.asp tengo lo siguiente:

Código:
<%@LANGUAGE="JAVASCRIPT"%>
<%  var mostrar = Request.QueryString("parte"); %>
<html>
<head>
</head>
<body>
<% = mostrar %>
</body>
</html>
entonces mi pregunta es como hago para pasar desde un javascript, toda una estructura de de <div> para luego recuperarla en un asp ??

Una solución sería poner:

Código:
function imprime()
{
var contenido = document.getElementById("print");
var ventana = window.open('', "_blank", "left=0,top=0,width=650,height=500,toolbar=no,loca tion=no,status=no,menubar=no,resizable=no,scrollba rs=1");
ventana.document.write('<html><head><title>Articul o para imprimir</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">');
ventana.document.write('</head>');
ventana.document.write('<body leftmargin="0" topmargin="2" marginwidth="0" marginheight="0">');
ventana.document.write(contenido.innerHTML);
ventana.document.write('</body>');
ventana.document.close();
ventana.print();
ventana.close();
}
pero no me sirve porque yo luego si quiero poner cabecera, un menu, y cualquier otra cosa, tengo que seguir agrandando el Javascript hasta hacerce muy pesado. En cambio, puedo manejar todo desde una pagina ASP... pero no me sale

Bueno, perdón por lo extenso y nuevamente muchas gracias.
Saludos
  #5 (permalink)  
Antiguo 24/10/2008, 21:57
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: ¿Como hacen este imprimir?

creo que el archivo imprimir tiene que recibir el id y luego hacer un response.write de toda la nota sin anuncios

eso hara que no envies mas que el "id" y lo recuperas y muestras el contenido a imprimir

una vez hecho esto haces un css capaz d impir lo que deseas

http://www.desarrolloweb.com/articul...agina-web.html

<link rel="STYLESHEET" type="text/css" href="estilo_imprimir.css" media="print">

olvida enviar el div completo simplemente envia el id recupera muestrra lo que deseas que el usuario imprima, maqueta con css e imprime

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 25/10/2008, 11:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

Gracias JuanRAPerez.

Paso a comentar mis dudas:

Yo recupero el ID, pero como lo muestro ?, ya que supuestamente, al pasarle el nombre del ID solo tengo una cadena de texto, entonces con un "response.write" como le indico que de cierta página, me escriba el contenido de dicho ID ??

Me podrías hacer un ejemplo sencillo en base al ejemplo que yo puse anteriormente??

Con respecto a poner un archivo CSS para la impresión, eso lo entiendo, y de echo lo tengo así, pero eso sirve mas que nada si el usuario final elige Imprimir desde el menú de herramientas. En cambio, yo si quiero que funcione mi Javascript, se vaya a la pagina imprimir.asp y todo eso, eso ya no me sirve.

Saludos y nuevamente muchas gracias por tu ayuda.
  #7 (permalink)  
Antiguo 26/10/2008, 19:56
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: ¿Como hacen este imprimir?

ok

tu tienes una pagina en la que muestras ya toda la informacion (noticia) que tieenes en tu base de datos

ahi pones un enlace llamado imprimir ese enlace va a tu pagina imprimir_limpio.asp
envias ahi el id de tu noticia

luego haces un

id = request("id")
if id = "" then
response.write "viene vacio el id"
response.end
else
'abres tu conexion
'si tu id es numerido
sql = "select tutabla where id = " & id
'ejecutas tu record set
'imprimis el contenido
'cerras conexion


eso basicamente es

suerte

end if
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 27/10/2008, 19:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

La explicación me pareció excelente, pero el problema es que no lo tengo en base de datos, sino así nomas como el siguiente ejemplo:

Código:
<html>
<head>
<script language="JavaScript">
function imprimir(id)
{
var envio = "imprimir.asp" + "?parte=" + id;
var ventana = window.open(envio,"_blank","left=0,top=0,width=300,height=300,toolbar=no,location=no,status=no,menubar=no,resizable=no,scrollbars=1");
}
</script>
</head>
<body>
<div class="contenido">
  <div class="menu">
     <a href="javascript:imprimir('print')">Imprimir</a>
  </div>
  <div id="print">
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
  </div>
</div>
</body>
</html>
y en mi archivo imprimir.asp tengo:

Código:
<%@LANGUAGE="JAVASCRIPT"%>
<%  var mostrar = Request.QueryString("parte"); %>
<html>
<head>
</head>
<body>
<% = mostrar %>
</body>
</html>
pero este ejemplo que puse no muestra nada.
  #9 (permalink)  
Antiguo 28/10/2008, 20:56
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Respuesta: ¿Como hacen este imprimir?

y que tiene que ver entonces esto con ASP?
  #10 (permalink)  
Antiguo 29/10/2008, 15:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

jajaja

porque a través de ASP quiero recuperar una variable la cual supuestamente contiene todo el DIV que quiero imprimir.

Me entiendo ?
  #11 (permalink)  
Antiguo 29/10/2008, 19:27
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: ¿Como hacen este imprimir?

claro entonces
haz tu base
haz tu asp

y luego pegas el codigo y asi entenderás mejor las cosas
__________________
JuanRa Pérez
San Salvador, El Salvador
  #12 (permalink)  
Antiguo 29/10/2008, 21:36
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Respuesta: ¿Como hacen este imprimir?

es muy facil, en la ventana que abres para imprimir haz lo mismo que en la pagina con el DIV que usas y listo, usando ASP y BD
  #13 (permalink)  
Antiguo 30/10/2008, 00:28
 
Fecha de Ingreso: marzo-2002
Mensajes: 85
Antigüedad: 23 años
Puntos: 1
Respuesta: ¿Como hacen este imprimir?

Crea dinamicamente tu pop up con java script.... o simplemente haz un CSS para impresion y ni siquiera tienes que abrir un pop up, solo envias a imprimir y ya
  #14 (permalink)  
Antiguo 30/10/2008, 16:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

Muchas gracias, voy a ver si puedo implementar una BD.

Saludos
  #15 (permalink)  
Antiguo 01/11/2008, 08:25
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 23 años, 3 meses
Puntos: 1
Respuesta: ¿Como hacen este imprimir?

Hola Jamati, yo para hacer medianamente lo que pretendes y teniendo en cuenta que mis conocimientos en general son muy escasos hago lo siguiente:

una .asp que me muestra lo que quiero imprimir + un boton enlace que dice Imprimir.

abro un popup (que abre un .asp prearmado con encabezados, logo, pie, etc), pasandole una variable para buscar lo que quiero imprimir.

Despliego y mando a imprimir y al mismo tiempo que se cierre el popup

Lo que no puedo evitar (y es por desconocimiento) es la ventana de seleccionar la impresora.

Espero haber sido de ayuda.


Saludos a todos los que sabiamente aconsejaron a Jamaiti en este post.
__________________
Carlunchos
  #16 (permalink)  
Antiguo 01/11/2008, 19:17
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

Eso mismo quiero yo me parece, si no te entendí mal es exactamente lo que pretendo hacer.

Puedes poner un ejemplo practico ?

Muchas gracias igualmente.
  #17 (permalink)  
Antiguo 01/11/2008, 20:01
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 23 años, 3 meses
Puntos: 1
Respuesta: ¿Como hacen este imprimir?

Jamati, es bastante sencillo lo que hago, no es de profesionales pero me saca del paso:

al pie de pagina.asp coloco un enlace que abre un popup y al mismo tiempo le paso una variable para que al abrir el popup sql mediante haga una busqueda:
para abrir el popup lo siguiente:

<SCRIPT LANGUAGE="JavaScript">
<!--
function popUp3(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,men ubar=0,resizable=0,width=520,height=600');");
}
// -->
</script>


el enlace:
response.write "<a href=""javascript:popUp3('notaCarpetas.asp?carpeta ='Novena')"" title='Imprimir nota de Carpetas'>Imprimir Nota de Carpeta</a><br><br>"


en el notaCarpetas.asp busco y despliego lo que quiero mostrar. Tambien en esta pagina pongo la funcion:

<script language="javascript">
function imprimirPagina() {
if (window.print)
window.print();
else
alert("A tu navegador no se le puede ordenar imprimir" + " desde la web. Actualizate o hazlo desde los menús");
}
</script>


al darle al enlace se abre la ventana de elegir impresora, elijes e imprimes.

Estaria bueno que al enviar a imprimir se cerrara tambien el popup pero no se hacerlo asi que al terminar de imprimir cierro manualmente el popup y listo.

Te pido un favor: que no se enteren ni Caricatos, ni Tunait de esto que te acabo de pasar, ya que se burlaran de mi por bastante tiempo jajajaja.

Saludos y suerte.
__________________
Carlunchos
  #18 (permalink)  
Antiguo 02/11/2008, 09:22
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: ¿Como hacen este imprimir?

Antes que nada, muchísimas gracias carlunchos por intentar ayudarme. Te paso a comentar lo que hice según te pude entender:

Tengo esta página llamada imprimir.asp:

Código HTML:
<html>
<head>
<script language="JavaScript">
function popUp3(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,men ubar=0,resizable=0,width=520,height=600');");
}
</script>
</head>
<body>
<div class="contenido">
  <div class="menu">
   <% response.write "<a href=""javascript:popUp3('notaCarpetas.asp?carpeta ='print')"" title='Imprimir nota de Carpetas'>Imprimir Nota de Carpeta</a><br><br>" %>
  </div>
  <div id="print">
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
    <span>DIV A IMPRIMIR</span><br>
  </div>
</div>
</body>
</html> 
Y luego esta esta otra página llamada NotasCarpetas.asp:

Código HTML:
<%@LANGUAGE="JAVASCRIPT"%>
<html>
<head>
<script language="javascript">
function imprimirPagina() {
if (window.print)
window.print();
else
alert("A tu navegador no se le puede ordenar imprimir" + " desde la web. Actualizate o hazlo desde los menús");
}
</script>
</head>
<body onLoad="javascript:imprimirPagina()">
</body>
</html> 
Tengo los siguientes problemas:

1) Estando en la página imprimir.asp y hago click en el enlace para imprimir no se abre ni siquiera el popup, hay algún error seguro de parentesis o comillas pero no pude solucionarlo.

2) Si lográs que el popup se abra correctamente, en la página notasCarpeta.asp como hacés para mostrar todo un div que pasaste por parametro?.... lo que quiero decir es como pones dentro del Body de esta pagina todo el DIV que supuestamente le pasaste por parametros para visualizarlo mientras te aparece el cartel para imprimir ??

3) Con respecto a que se cierre la ventana sola, probaste poniendo window.close(); ??
  #19 (permalink)  
Antiguo 02/11/2008, 17:54
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 23 años, 3 meses
Puntos: 1
Respuesta: ¿Como hacen este imprimir?

Jamati, respecto de si es problema de comillas fijate si el enlace que abre el popup lo indicas dentro de tags html o de asp (<% %>), es decir el juego de comillas variara segun esto. Revise el codificado y esta tal cual lo uso en mi pc.

Como te comentaba antes, cuando abro el popup mediante, el asp notasCarpetas, como habras visto le paso una variable para hacer una busqueda, no le paso otra cosa porque:

notasCarpetas.asp tiene una hoja de estilo (o varias) en la cual diagramo los div's que voy a utilizar, fonts, colores, logos, etc, con lo cual solo me preocupo por la variable que le paso y la busqueda en base que hago para desplegar lo que quiero mostrar. A mi me parece que cada pagina debe tener su css segun las necesidades. De ultima podria utilizar if's para seleccionar entre varios css segun lo desplegado. Mi corto entendimiento no me permite pensar en pasarle un div por parametro a notasCarpetas.asp

Respecto de window.close() lo voy a probar.

Saludos.
__________________
Carlunchos
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 13:16.