¿Cómo exportar un PDF a un SWF online?

En muchas ocasiones resulta necesario que un usuario pueda incorporar un PDF a una aplicación desarrollada en Flash, a través de un CMS o Gestor de contenidos. Esta herramienta debería poder exportar el archivo fuente PDF a un SWF automáticamente para alimentar la aplicación multimedia programada en Flash con la que se visualiza el contenido resultante.

Es posible convertir un PDF a un SWF directamente a través de la función PDF2SWF que viene integrada en la librería SWFTOOLS. El PDF2SWF genera automáticamente un SWF. Este SWF generado es de la versión del Flash Player 8 AVM1.

La librería SWFTOOLS se instala en servidor, para luego invocar la función PDF2SWF a través de una secuencia “exec” en el script de PHP. La siguiente es la línea de comandos base para generar un PDF:

pdf2swf [-opciones] archivo.pdf -o archivo.swf

Sin embargo, resulta imposible de integrar el archivo.swf en Flex directamente. Dado que Flex solo tiene un soporte bastante limitado para AVM1, ya que trabaja completamente con AVM2. Así que para poder exportar un PDF a un SWF en Flex, sería necesario contar con el SWF (archivo.swf) resultante del paso anterior y proseguir con los siguientes pasos:

  • Crear un nuevo proyecto de AS3 y Flash 9 de salida, con dimensiones proporcionales al tamaño de la página del PDF de entrada: A4, A2, etc.
  • Pintar un rectángulo que abarque del tamaño del documento.
  • Convertir el rectángulo en un MovieClip que llamaremos “vista” y que luego se deberá instanciar como “vista”.
  • Guardar el archivo como “visor.swf”
  • Añadir otra la línea de comandos a ejecutar via “exec” en el script de PHP: pdf2swf -B visor.swf archivo.swf archivo_compatible_flex.swf.
  • Luego, en Flex, invocaríamos el swf resultante myMovieClip.vista.gotoAndStop(1);

La experiencia de las exportaciones a SWF pueden convertirse en algo traumático, cuando hablamos de PDF de muchas páginas o cuando resultan de exportaciones que salen del Ilsutrator o Quark Express. Por eso en muchas ocasiones es preferible, en lugar de generar un SWF, exportar el PDF a un JPG.

2 Comentarios en “¿Cómo exportar un PDF a un SWF online?”

Alba dice:

¡Hola! yo tengo problemas al ejecutar el comando que nos has indicado en php. Lo hago así:

$WshShell = new COM(”WScript.Shell”);
$oExec = $WshShell->Run(”cmd /C $cmd “, 0, true);

¿Alguna sugerencia?

ddelgado dice:

Hola, Alba,
¿Me podrías decir qué error te sale?

Dejar un comentario

*