11 de octubre de 2011

Script para comprobar si un PDF se podrá disfrutar al 100%

El formato de archivo PDF tiene una serie de potencialidades que a menudo no se exploran o no se usan porque se desconocen. Un archivo PDF puede ser un diseño que se lleva a una imprenta, una presentación en una conferencia, un "eBook" o incluso un completo interactivo para mostrar información en pantallas grandes. Todo un universo, sin duda. Entre las funcionalidades que puede guardar un documento PDF, podríamos mencionar, por ejemplo:

  • Incrustar vídeos digitales en casi cualquier formato, con posibilidad de visualizarlos a pantalla completa
  • Incrustar animaciones o interactivos completos de Flash
  • Añadir formularios con todo tipo de campos interactivos, valores condicionales y cálculos complejos
  • Subrayar, marcar, dibujar encima...
  • Medir distancias a escala en planos, etc.
Sólo por mencionar una pequeña parte. Sin embargo, a día de hoy existen múltiples aplicaciones aparte de Adobe Reader o Adobe Acrobat que pueden abrir y leer un PDF. Sin ir más lejos, podemos emplear un navegador web que, como en el caso de Google Chrome, interpretan directamente archivos PDF online. También por ejemplo si compramos un ordenador Mac, podremos leer archivos PDF desde el primer día empleando la herramienta Vista Previa que viene incluida con el Sistema Operativo.

Sin embargo, estas aplicaciones suelen hacer interpretaciones parciales de estos PDF. Si bien conservan el aspecto gráfico de manera correcta, y gran parte de las funcionalidades, omiten otras como pueden ser por ejemplo la reproducción de multimedia o algunos cálculos de campos de formulario.

Es una lástima que invirtamos tiempo y recursos en generar un PDF que supone una experiencia de usuario excelente si luego desconocemos qué porcentaje de esos usuarios podrán gozar de qué parte de esas prestaciones. Lo ideal sería asegurarnos que de que todos los usuarios sacan el máximo partido de nuestro PDF, abriéndolos con el lector gratuito Adobe Reader, y a ser posible, con su última versión.

Para ello, he ideado un sencillo JavaScript que se puede implementar dentro de cualquier PDF, que detecta el contexto en el cual dicho PDF se está ejecutando y aconseja al usuario en consecuencia.

Los archivos PDF pueden ejectuar scripts en JavaScript específico de Acrobat, pero siempre y cuando estos archivos se vean en Adobe Reader o Acrobat. En el archivo PDF de ejemplo práctico que se adjunta en este artículo, se ha optado por mostrar por defecto un botón interactivo (que sí funciona en casi cualquier contexto) con una leyenda que insta al usuario a clicar en él para descargar Adobe Reader y así poder disfrutar al 100% de la experiencia.




En caso contrario, significa que estamos en un contexto en el cual se puede ejecutar el Javascript de comprobación, que oculta dicho botón y que opcionalmente comprobaría la versión de Adobe Reader. De este modo nos aseguramos de que el usuario podrá disfrutar del vídeo clip que se acompaña.

Para aquellos diseñadores, desarrolladores o "devigners" en general, que estén familizarizados con el uso de Javascript en Acrobat, he aquí una transcripción del código empleado:

if(this.external==false) {  // Estamos en Acrobat o en Reader
   if(app.viewerVersion>8) {  // Aprovechamos para comprobar versión. A partir de la 9, podremos ver cualquier vídeo.
        this.getField("Check").display=1; //Quitamos el botón, dejándolo oculto
    }
    else { // Dejamos el botón visible pero cambiamos la leyenda.
        this.getField("Check").value="Descargue la última versión de Adobe Reader para ver este PDF al 100%";
    }
}
// En caso contrario, como lo más probable es que estemos viendo el PDF en un contexto donde ni siquiera se pueda interpretar el Javascript, no hacemos nada y dejamos el PDF como está, con el botón funcional y visible.


// (cc) 2011 Ignacio Lirio info@publicarendigital.com


Y por supuesto, un enlace al documento PDF de ejemplo donde se ha aplicado dicho Script.



Espero que este pequeño "tip" os ayude a poder promocionar el PDF como un tipo de archivo de publicación digital muy potente que os permitirá difundir gran parte de vuestros contenidos e ideas a todo tipo de usuarios.

1 comentario:

  1. Hola Ignacio.
    El enlace al ejemplo práctico falla y te lleva a otra página de Adobe.
    No he entendido bien dónde se tiene que escribir ese script en Adobe Acrobat.
    Un saludo

    ResponderEliminar

Consulteu aquí la versió en català d'aquest blog