Si el otro día mostrábamos como pasar varias imágenes a un mismo archivo .pdf, hoy vamos a explicar cómo conseguir extraer imágenes desde archivos Flash. Esto puede resultar especialmente útil cuando tenemos un libro, por ejemplo escolar, en una serie de archivos .swf y queremos conseguir imprimirlos.
Para realizar esta tarea vamos a necesitar Linux, cualquier distribución valdrá, y si no tenemos ninguna instalada podemos utilizar alguna distribución Live que arrancará sin instalarse en nuestro ordenador.
Una vez tengamos nuestro sistema operativo preparado, necesitaremos comprobar que tenemos instaladas las «swftools», y si no las tenéis, podeís instalarlas desde Synaptic (si estáis usando Ubuntu) añadiendo el repositorio de la siguiente manera.
Abrir una terminal y teclear:
sudo add-apt-repository ppa:guilhem-fr/swftools sudo apt-get update sudo apt-get install swftools
Ahora necesitamos un script que recorra toda la carpeta que le indiquemos en busca de ficheros flash (.swf) y que genere automáticamente las correspondientes imágenes. Para el script simplemente crea un nuevo fichero, sin extensión, con el siguiente código en su interior:
#!/bin/bash for line in $(find $1 -name '*.swf'); do swfrender ${line} -X 1200 -o ${line}.png done
Para ejecutarlo entra en una terminal, localiza el directorio donde se encuentra y escribe:
./nombre-script <directorio_que_contiene_los_archivos_flash>
Una vez haya terminado de ejecutarse podrás pasar esas imágenes a pdf con el manual que ya vimos anteriormente e imprimirlas fácilmente puesto que la resolución obtenida es máxima.
¡Hasta pronto!
Información Bitacoras.com…
Valora en Bitacoras.com: Tutorial: Cómo pasar de flash a png Si el otro día mostrábamos como pasar varias imágenes a un mismo archivo .pdf, hoy vamos a explicar cómo conseguir extraer imágenes desde archivos Flash. Esto puede resultar especialm……
[…] Quizás te interese: How to: Convertir de Flash (.swf) a imágenes (.png) […]
Me encantaría poder hacer esto con un libro que he descargado de Internet y cuyas páginas están en formato .swf. Es el único sitio que he encontrado en el que explican como hacer una «bulk conversion» de los archivos .swf, pero desafortunadamente no logro hacer funcionar el script. Trabajo con Ubuntu 13.04 y seguramente estaré haciendo algo mal.
Lo que yo hago es crear con gedit el archivo sin extensión y lo guardo como «script», navego hasta donde lo guardé (en mi caso el Desktop) y desde la terminal ejecuto como root (tras haber ejecutado «sudo su»):
«./script /home/yo/Escritorio/Directoriodellibro»
¿Hay algo que esté haciendo mal? Gracias, y disculpa mi ignorancia!
Muy buenas, a falta de conocer tu error en concreto, te voy a comentar un par de cosas por si te fueran de ayuda.
1. ¿Por qué ejecutas como sudo? No es necesario. Aunque no creo que afecte, no necesitas hacerlo.
2. ¿Has instalado las swftools? Recuerda que esta herramienta no viene por defecto instalada en ubuntu y necesitas añadir el repositorio para luego instalarlas. En el post viene explicado como hacerlo y es fundamental que las tengas para que te funcione.
3. No hace falta que guardes como script. Tu crea un nuevo fichero vacio en el escritorio por ejemplo, botón derecho, nuevo, documento vacío. Lo abres con el programa que quieras, gedit mola, y tras copiar el código lo guardas, con control + s o como quieras, pero no necesitar darle a guardar como script.
Prueba estas cosas que te he comentado y si falla haz una captura del error y le echamos un vistazo, okay?
Suerte!
En primer lugar, gracias por la rápida respuesta y por ser tan amable de responderme. Entiendo que el nombre del archivo no influya en la función del script, le puse «script» por llamarlo de algún modo, totalmente al azar.
Por otro lado, a pesar de que no puedo instalar el paquete swftools desde los repositorios que proporcionas, sí que puedo instalar su última versión a través de los repositorios de Ubuntu. Estoy seguro de que está instalado porque ejecutando la orden «swfrender» sobre mis archivos .swf uno a uno funciona a la perfección, creándome el correspondiente archivo .png.
El verdadero problema es que no consigo hacer funcionar el script para crear automáticamente los respectivos archivos .png de cada uno de mis archivos swf : no es que dé un error en sí, es simplemente que no funciona, no hace nada. Supongamos que script y archivos swf están en una misma carpeta llamada «Libro» en el Escritorio. Navego hasta la carpeta «Libro» desde la terminal y ejecuto:
./script ./
Por maś veces que lo ejecute, el resultado es nulo: los archivos swf siguen ahí sin nungún .png. Cabe mencionar que me aseguré de permitir su ejecución como programa desde el menú «Propiedades» para evitar que me diera «Permiso denegado».
Gracias por tu ayuda y disculpa las molestias.
Buenas, voy a comprobar que el script funcione correctamente y a ver que puede estar ocurriendo, y cuando sepa algo te aviso por aquí mismo, así que sigue pendiente.
Saludos.
Ya se lo que le pasa. Al copiar y pegar en el documento se están cambiando las comillas simples por comillas tipográficas. Debes buscar y donde pone *.swf asegurarte que está entre comillas simples, la que está debajo del signo de cerrar interrogación en tu teclado, y quitarle las otras que se ponen automáticamente.
A mi ya me funciona, espero que a ti también.
Un saludo y aquí nunca son molestias las preguntas.
ps: no se ni cuantas veces me habrá pasado esto a lo largo del tiempo. El copiar y pegar en programación trae dolores de cabeza…
Ahora sí que funciona a la perfección. No hubiera imaginado que no funcionara por las comillas, ¡muchas gracias por tu ayuda! 😀
Justo voy a probarlo. Igual que el colega Samuel, hay unos libros que tengo en *swf que me pasaron y los quiero en pdf. Excelente la de usar swftools para convertir en lotes.