Foros del Web » Programando para Internet » Javascript »

Imprimir solo el contenido de una celda

Estas en el tema de Imprimir solo el contenido de una celda en el foro de Javascript en Foros del Web. Hola. Quisiera saber si es posible imprimir tan solo el contenido de una celda en una tabla. Mi pagina no contiene frames, pero si contiene ...
  #1 (permalink)  
Antiguo 27/05/2003, 08:56
 
Fecha de Ingreso: abril-2003
Mensajes: 150
Antigüedad: 21 años
Puntos: 1
Imprimir solo el contenido de una celda

Hola.

Quisiera saber si es posible imprimir tan solo el contenido de una celda en una tabla.
Mi pagina no contiene frames, pero si contiene menus en las columnas de al lado lo cual no quiero que se impriman.

Es posible de algun modo realizar una funcion que me imprima solo el contenido de la celda de mi interes?

Gracias de antemano....

Liz
  #2 (permalink)  
Antiguo 27/05/2003, 08:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Prueba con algo como:

document.getElementById('id_de_la_celda').innerTex t.print()
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 27/05/2003, 11:53
Avatar de Pau
Pau
 
Fecha de Ingreso: marzo-2003
Ubicación: Galicia
Mensajes: 144
Antigüedad: 21 años, 1 mes
Puntos: 0
Sonrisa A ver si te sirve

Hola, prueba cuando selecciones lo que quieres imprimir, en las opciones de impresión a poner "Selección" Así te imprimirá solo lo que has seleccionado. No se si es esto lo que buscas, espero que si

Saludosss
  #4 (permalink)  
Antiguo 27/05/2003, 12:15
 
Fecha de Ingreso: abril-2003
Mensajes: 150
Antigüedad: 21 años
Puntos: 1
Hola Cain,

Gracias por tu respuesta.
Hice lo siguiente pero no me funciono:

<head>
<SCRIPT LANGUAGE="JavaScript">
function Imprimir()
{ document.getElementById('Celda1').innerText.print( ); }
</SCRIPT>
</head>


<BODY>
<input type="submit" name="Submit" value="Imprimir1" onClick=Imprimir() >


<table>
<tr><td colspan="3" height="166" id = "Celda1">
.
.
</td></tr>
</table>
</BODY>

Pero no me imprime y me dice:" que el objeto no acepta la propiedad o metodo!"

Que puedo hacer para que funcione o que tengo mal?

Gracias de antemano...
Liz
  #5 (permalink)  
Antiguo 28/05/2003, 01:46
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
No contaba con eso

Entonces tendremos que esperar a algun experto de la impresión.
__________________
M a l d i t o F r i k i
  #6 (permalink)  
Antiguo 28/05/2003, 04:03
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Hola, me vais a permitir que os muestre lo que estaba intentando para hacer lo que lizfranco quería.
Como veréis creaba una nueva ventana con el texto a imprimir y ponía la función print() al cargarse la página. Pero al parecer como esta nueva ventana se abre como archivo temporal, creo, no puede imprimirse de esa manera, o al menos es lo que a mí me parece.
Código:
<html>
<head>
<script language="JavaScript">
function Imprimir(){
texto=document.getElementById('Celda').innerText;
popup=window.open('','','');
popup.document.write('<html>\n<head>\n<title>Celda seleccionada</title>\n');
popup.document.write('</head>\n');
popup.document.write('<body onLoad=\'print()\'>\n');
popup.document.write(texto+'\n');
popup.document.write('</body></html>');
setTimeout('popup.close()',2000)
} 
</script>
</head>

<body>
<p><a href="#" onClick="Imprimir()">Imprimir esto</a></p>
<table>
<tr>
    <td id="Celda">Esto es lo que se debería imprimir</td>
</tr>
</table>
</body>
</html>
Pasados 2 segundos la nueva ventana se cierra para que no moleste.
Ya se que no es la solución, pero quizás por aquí pueda andar bien, siempre y cuando haya alguien que sepa cómo hacer que se imprima sola la nueva ventana.
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 15/06/2003, 10:59
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Bueno, después de una pequeña ayuda de Kaopectate... ¡Qué digo pequeña! Sin él no habría habido manera.

Pues lo dicho aquí dejo el código completo con las cosas que estaban mal en rojo:

Código:
<html>
<head>
<script language="JavaScript">
function Imprimir(){
texto=document.getElementById('Celda').innerText;
popup=window.open('','','');
popup.document.write('<html>\n<head>\n<title>Celda seleccionada</title>\n');
popup.document.write('</head>\n');
popup.document.write('<body onLoad="print()">\n');
popup.document.write(texto+'\n');
popup.document.write('</body></html>');
popup.document.close();
setTimeout('popup.close()',2000)
} 
</script>
</head>

<body>
<p><a href="#" onClick="Imprimir()">Imprimir esto</a></p>
<table>
<tr>
    <td id="Celda">Esto es lo que se debería imprimir</td>
</tr>
</table>
</body>
</html>
Así debería funcionar. Si queréis ver cómo hemos llegado a esta conclusión podéis ver este otro mensaje.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #8 (permalink)  
Antiguo 18/06/2003, 02:39
Avatar de lach  
Fecha de Ingreso: enero-2003
Ubicación: Alicante
Mensajes: 29
Antigüedad: 21 años, 3 meses
Puntos: 0
se podría imprimir una tabla html

Si la celda que estamos imprimiendo contiene una tabla, ¿se podría modificar este script para que se imprimiera la tabla per manteniendo la forma de tabla? por que a mi me sale pero todo el texto junto, de todas las celdas, y estaría bien conservar el estilo y todo eso para que fuera como una captura, no se si me explico.

¿Es esto posible? gracias...
__________________
Saludos...
  #9 (permalink)  
Antiguo 18/06/2003, 03:02
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Cambia esto

texto=document.getElementById('Celda').innerText;

por esto

texto=document.getElementById('Celda').innerHTML;

Creo que así debería funcionar, pero me parece que has de darle a la tabla de dentro valores absolutos de tamaño, y no en porcentajes, por que si no, al abrirla en la nueva ventana, si su ancho era del 100% pero la tabla en la que estaba contenida era por ejemplo del 50%, verás qus se deforma.

Suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #10 (permalink)  
Antiguo 18/06/2003, 05:45
Avatar de lach  
Fecha de Ingreso: enero-2003
Ubicación: Alicante
Mensajes: 29
Antigüedad: 21 años, 3 meses
Puntos: 0
Muchas gracias Brevenap, ha funcionado, la ventana que se abre muestra la tabla tal cual, y si añado una linea con la hoja de estilos se ve calcada. El único problema que me queda por resolver es que al poner el innerHTML no se cierra la ventana, o si añado una linea para incluir la hoja de estilos, tampoco se me cierra la ventana. ¿Se os ocurre por que puede ser?

El código actual es el siguiente:

texto=document.getElementById('Informe').innerHTML ;
popup=window.open('','','');
popup.document.write('<html>\n<head>\n<title>Impre sión de Informe</title>\n');
popup.document.write('<LINK REL=STYLESHEET HREF="css/estilos.css">\n');
popup.document.write('</head>\n');
popup.document.write('<body onLoad="print()">\n');
popup.document.write(texto+'\n');
popup.document.write('</body></html>');
popup.document.close();
setTimeout('popup.close()',2000)

gracias...
__________________
Saludos...
  #11 (permalink)  
Antiguo 18/06/2003, 15:48
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pues no sé muy bien, pero creo que innerHTML no acepta todo tipo de etiquetas. Hace un momento acabo de ver un mensaje en este foro donde dejaban este enlace. Lo he mirado muy por encima pero creo que ahí se especifica qué puedes usar y qué no. Está en inglés, pero no es muy difícil.

Suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 08:32.