Cómo imprimir parte de una web

Problema:

Con Javascript puede imprimirse solo una parte de la página web

Es posible imprimir una pa´gina web compelto, con el navegador o con Javascript. Pero a veces no interesa imprimir absolutamente todo, solo parte del contenido.

Por ejemplo, en una pa´gina de recetas puede que soloquieras imprimir la receta con sus ingredientes, pero no el menú de navegación o las imágenes.

Solución

Crear una ventana nueva con el contenido a imprimir leído desde la propia página.

El contenido que queremos imprimr se debe encerrar en un bloque de html, como un elemento div o section con su id.

Secrea una ventana nueva del explorador, esa ventan mostrará una página web creada con el contenido que queremos imprimir (leído del bloque marcado).

Esta página nueva posee el script para imprimirse.

Ejemplo

Nada como un ejemplo para aclarar el esquema explicado en el apartado anterior. Primero veamos nuestra página en la que queremos que el visitante pueda imprimir un texto determinado. Usamos un DIV con atributo ID igual a 'seleccion', su contenido es lo que queremos que se imprima (podría ser la receta que indicábamos en el primer apartado).

<section id="ficha">

Este contenio es el que se imprimirá cuando se pulse el enlace.</section>

<a href="javascript:imprSelec('seleccion')" >

Imprime la ficha

</a>

<script >
function imprSelec(nombre) {
  var ficha = document.getElementById(nombre);

  var ventimp = window.open(' ', 'popimpr');

  ventimp.document.write( ficha.innerHTML );

  ventimp.document.close();

  ventimp.print( );

  ventimp.close();

}
</script>

La section ficha es lo que se va a imprimir. La función crea una ventana y dentro de ella escribe el contenido de ficha. Lanza el método imprimir y luego se cierra.

scripts