martes, 28 de enero de 2014

Cómo hacer para imprimir solo el texto

Hablando de 'guardar las entradas del Blog en formato PDF', decía yo que quedaba muy bonito, pero que no me acababa de convencer el asunto.
Y, rebuscando por Google, en esta antigua página, encontré una solución interesante para poder imprimir solo el texto de la entrada.
Y, por cierto, además de mandar imprimir 'a la impresora', para tenerlo 'en papel', siempre podemos mandar imprimir... 'como archivo', y tener (y guardar) el 'texto puro' en formato PDF.
El tema es algo complejo, me ha costado 'digerirlo' pero ha sido un buen ejercicio para ir metiendo las narices en los secretos de la edición HTML. A ver si soy capaz de explicarlo, más o menos claro, aquí.
Centrando ideas, todo lo que he visto hasta ahora se refería a imprimir, o guardar 'la totalidad de la entrada'. Lo que trata este truco es hacerlo, pero indicando en la plantilla que excluya de orden aquello que no me interesa que aparezca (cabecera, comentarios, gadgets...), de forma que solo considere el título y el texto del artículo.
Pero como ya he dicho que es algo complejo, te recomiendo que leas antes esta entrada, para tratar de 'clarificar conceptos'.
Así que el proceso tiene dos fases. Estas:
Primera fase: Indicar que, al imprimir, no se consideren ciertos elementos 
Y esto se hace sobre la plantilla del Blog, para que valga para todas las entradas. Así que abre el Blog, en Blogger, y vete a Plantilla-Editar HTML.
Una vez ahí, busca la línea donde ponga </head> (o sea, donde se cierra 'head'.
Está hacia la línea 500. Lo puedes hacer, poniéndote en la linea 1, con Ctrl+F e introduciendo </head> en la caja de Búsqueda, pero tendrás que expandir todos los artilugios, o sea, pinchar en la flecha negra que irás viendo al lado de alguna numeración de línea)
 y pega antes de esa línea </head> el siguiente código:
<style media='print' type='text/css'>#header-wrapper,
#header, .header, #sidebar-wrapper, .sidebar, .post-footer, #footer-wrapper,
#footer, .date-header, #comments, .post-meta-data, .comment-link, .comment-footer,
#backlinks-container, #blog-pager,
#navbar-section, .navbar, .subscribe_notice, .noprint {display: none;}
#main-wrapper {width:95%; overflow: visible !important;}</style>

(lo que estás incorporando a la plantilla del Blog es (más o menos) la instrucción de que, cuando se reciba una orden de imprimir, no considere todos esos elementos marcados con '#' que no te interesa que aparezcan). Fíjate que los distintos elementos está separados por 'comas'. 
NOTA: si tu plantilla tuviera dos sidebars (dos columnas para incorporar gadgets) agrega esto al final del código de arriba (antes de </style>)
#newsidebar-wrapper
Y si hubieras añadido algún gadget arriba o abajo del cuerpo principal, búscalo, encuentra su ID (por ejemplo, id='HTML2') y agrégalo detrás (después de poner una coma). Lo dejarías, más o menos, así:
#newsidebar-wrapper, #HTML2
NOTA: los ID de los gadgets que hayamos añadido arriba o abajo de las entradas los podemos localizar bien debajo de esta línea:
<div id='content-wrapper'>
o bien debajo de esta otra:
<div id='main-wrapper'>
 
Segunda Fase: incluir una orden de impresión
Ahora vamos a poner la instrucción, concreta, de imprimir. Y lo haremos añadiendo un script, en Java, que contiene un texto donde, pinchando en él, se de la orden de que arranque tu impresora.
Este script es muy sencillo (y se puede usar en cualquier parte). Simplemente es este:
<a href='javascript:window.print()'>Imprimir artículo</a>
NOTA: en la web que he mencionado arriba, donde he 'pescado' el truco, explica ahora cómo hay que ponerlo en la Plantilla del Blog. Debo decir que no lo he conseguido, no se si porque esa web es de 2009, o porque yo soy muy torpe.
Pero he descubierto una solución alternativa, que funciona perfectamente. Consiste, simplemente, en añadir el script indicado NO a la plantilla general, sino a la Plantilla de las Entradas, que se encuentra en
Configuración - Entradas y comentarios - Plantilla de la entrada -> Añadir. 
Así aparecerá en todas las entradas que se creen a partir de estee momento.
Por ejemplo, una apariencia sencilla y efectiva se consigue añadiendo, en esa Plantilla de la entrada, este código:
Empezar a escribir aquí
<br />
<br />
<br />
<br />
<hr />
<span style="font-family: Georgia,&quot;Times New Roman&quot;,serif;"><b><a href="javascript:window.print()">Imprimir artículo (o crear un PDF)</a></b></span>
<br />
<hr />
que te facilita poder escribir la entrada y dejar, el script, al final del artículo.

NOTA ACLARATORIA: A la hora de imprimir, normalmente te saldrá (al menos es lo que me sale a mi) la opción de hacerlo en tu impresora instalada, o como archivo. Si eliges 'Imprimir a un archivo' le puedes indicar que sea en formato PDF... y podrás guardar ese archivo PDF 'con solo texto', en tu ordenador.



Otra manera (aún más sencilla) de hacer esto, es añadiendo el script para imprimir que indicaba al principio en un gadget que puedes poner en un sitio preferente.
Para eso no hay más que ir a Diseño-Añadir un gadget, elegir el gadget 'HTML/JavaScript', ponerle un título y poner, en el 'contenido', el script, por ejemplo
<a href='javascript:window.print()'>>>Mandar a Imprimir o a Crear PDF>></a>
Podría quedar algo así...


Etiquetas:

0 comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.

Suscribirse a Enviar comentarios [Atom]

<< Inicio