Foros del Web » Programando para Internet » Javascript »

Botón que imprima solo parte de una página web.

Estas en el tema de Botón que imprima solo parte de una página web. en el foro de Javascript en Foros del Web. Hola muchachos. Una pregunta que me tiene medianamente loco hace un tiempo. Imaginemos que tengo esto en una misma página de un sitio web: --------------- ...
  #1 (permalink)  
Antiguo 23/03/2004, 13:33
Avatar de Clicker  
Fecha de Ingreso: febrero-2003
Mensajes: 51
Antigüedad: 21 años, 9 meses
Puntos: 0
Botón que imprima solo parte de una página web.

Hola muchachos. Una pregunta que me tiene medianamente loco hace un tiempo.

Imaginemos que tengo esto en una misma página de un sitio web:

---------------

Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut at enim. Nam rutrum ullamcorper quam. Ut et velit nec tortor facilisis fringilla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Cras vel felis. Curabitur iaculis lacus at mi. Nam luctus. Phasellus sit amet felis non elit mollis tincidunt. Nam commodo neque tincidunt sapien. Nulla facilisi. Sed aliquam neque eget velit. Duis sit amet mauris. Vestibulum eu justo. Nullam consectetuer auctor metus. Cras placerat. Suspendisse ac sem non eros volutpat fermentum. Phasellus feugiat sapien et arcu.

[imprimir artículo]



Consectetuer adipiscing elit.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut at enim. Nam rutrum ullamcorper quam. Ut et velit nec tortor facilisis fringilla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Cras vel felis. Curabitur iaculis lacus at mi. Nam luctus. Phasellus sit amet felis non elit mollis tincidunt. Nam commodo neque tincidunt sapien. Nulla facilisi. Sed aliquam neque eget velit. Duis sit amet mauris. Vestibulum eu justo. Nullam consectetuer auctor metus. Cras placerat. Suspendisse ac sem non eros volutpat fermentum. Phasellus feugiat sapien et arcu.

[imprimir artículo]

------------

En la página original, el "[imprimir artículo]" tiene el siguiente código:

<a href="#" onClick="window.print();return false">

Y funciona perfectamente si se trata de imprimir la página entera (es decir, ambos artículos).

Ahora, la pregunta es: ¿cómo hago para que al hacer click en "[imprimir artículo]" solo se imprima el artículo correspondiente, es decir un solo artículo (el que se encuentra encima del botón "[imprimir artículo]".

Cabe decir que podría hacerlo usando HTML o Java, más no PHP u otro lenguaje, pues no lo conozco. Ahora, si necesariamente tuviese que ser en PHP u otro lenguaje y me pueden detallar cómo hacerlo, les estaré eternamente agradecido.

Muchas gracias de antemano...!

Clicker.
  #2 (permalink)  
Antiguo 23/03/2004, 14:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola Clicker:

Con html y un poquito de javascript tiene que ser suficiente.

Puedes crear una ventana emergente con lo que quieres que se imprima y luego cerrarla...

Si el link o botón para imprimir tiene que referenciar a una capa con id=articulo001 (por ejemplo) te serviría algo así:

<a href="javascript: imprimir('articulo001')">[imprimir artículo]</a>

y la funcioncita javascript...

function imprimir(articulo) {
var ventana = window.open("", "", "");
var contenido = "<html><body>" + document.getElementById(articulo).innerHTML + "</body></html>";
ventana.write(contenido);
ventana.print();
setTimeout('ventana.close()', 1000);
return true;
}

Lo puse sin hacer pruebas, pero en teoría tiene que funcionar.
Lo del setTimeout tal vez no sea necesario

Saludos
  #3 (permalink)  
Antiguo 23/03/2004, 15:12
Avatar de Clicker  
Fecha de Ingreso: febrero-2003
Mensajes: 51
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola Caricatos, muchas gracias por tu ayuda y por tomarte unos minutos para darme detalles, eres muy amable y se agradece de verdad.

Un abrazo.

Clicker.
  #4 (permalink)  
Antiguo 24/03/2004, 06:53
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola, Clicker.

Prueba este código que creo que te puede servir:
Código PHP:
<html>
<
head>
<
style>
@
media print {
    
div,{display:none}
    .
ver {display:block}
    .
nover {display:none}
}
</
style>
<
script>
function 
impre(num) {
    
document.getElementById(num).className="ver";
    print();
    
document.getElementById(num).className="nover";
}
</script>
</head>

<body>
<div id="uno">
Artículo primero
</div>
<a href="#" onclick="impre('uno');return false">Imprime 1</a>
<div id="dos">
Artículo segundo
</div>
<a href="#" onclick="impre('dos');return false">Imprime 2</a>
<div id="tres">
Articulo tercero
</div>
<a href="#" onclick="impre('tres');return false">Imprime 3</a>
</body>
</html> 
Saludos,
  #5 (permalink)  
Antiguo 24/03/2004, 10:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Excelente la propuesta, JavierB

Traslado el tema al foro de javascript.

movido desde html

saludos
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 00:39.