Imprimir artículos

Prontus ofrece una CGI para generar versiones imprimibles de los artículos, limpiando el código HTML para destacar el texto de un artículo. Aquí te explicamos cómo implementar la vista de impresión.

Publicado: Martes 29 de enero de 2019 por Adriano Varoli Piazza
Última modificación: Jueves 20 de agosto de 2020

A través de la CGI cgi-bin/prontus_imprimir.cgi, Prontus te permite imprimir un artículo de forma amigable.

Plantillas

Para el correcto funcionamiento, debe existir la siguiente plantilla (y sus análogas si tu Prontus implementa otras vistas): /[nombre prontus]/plantillas/extra/imprimir/pags/imprimir.html, y su contenido debe ser más o menos el que sigue:

<!doctype html>
<html>
<head>
<title>Imprimir - Prontus</title>
<meta charset="utf-8">
<style type="text/css">
body{background-color:#FFFFFF;}
</style>
</head>
<body onload="window.moveTo(0,0);window.resizeTo((screen.availWidth/2),screen.availHeight);window.print();">
<p>%%_txt_titular%%</p>
<p>%%_txt_bajada%%</p>
<p>%%vtxt_cuerpo%%</p>
<p>
%%if(fotofija_art)%% foto: %%fotofija_art%% %%/if%%
<a href="#" onclick="javascript:window.close()">[Cerrar]</a>
</p>
</body>
</html>

Además de los ejemplos de uso de marcas %%_titular%% y %%_bajada%%, puedes utilizar cualquier otra marca implementada en tus artículos.

Implementación

Para incluir esta funcionalidad dentro de la plantilla de una artículo, es necesario incluir la clase javascript Utiles.class.js, donde está implementado el método imprimirArticulo() que se utilizará en el link que gatillará la impresión.

<script src="/%%_prontus_id%%/js-local/Utiles.class.js"></script>

Te recomendamos implementar esto como una macro que contenga el link necesario para gatillar Imprimir. A continuación se muestra un ejemplo:

<a href="#" onclick="Utiles.imprimirArticulo('http://%%_server_name%%%%_file%%'); return false;">Imprimir este artículo</a>

El método imprimirArticulo puede recibir cuatro parámetros:

  1. ruta al artículo, donde como ves puedes usar http://%%_server_name%%%%_file%%.
  2. nombre de la multivista (opcional, si no lo pasas tomará la vista principal)
  3. ancho de la ventana (opcional, si no lo pasas tomará la mitad del ancho de la ventana)
  4. alto de la ventana (opcional, si no lo pasas tomará el 90% de la altura de la ventana)

Finalmente debes incluir la macro en la plantilla, por ejemplo:

%%macro(macro_<nombre>.html)%%