Me preguntaban en Twitter si era posible arrastrar imágenes SVG a Keynote ’13, y aunque la versión 6.0 parece recibir los archivos .svg, indicando con un cursor (+) que la imagen se va a añadir, finalmente indica que el formato no es reconocido.

Como SVG es un formato bastante reconocido, pero PDF es la lingua franca de Mac OS X, me parecía interesante disponer de un conversor de SVG a PDF. Pensé en Python y Automator, pero me di cuenta de repente de que tenía instalado Inkscape, que es el editor vectorial libre (equivalente de alguna forma a Corel Draw o Illustrator), y que utiliza SVG como formato interno.

Resulta que es posible utilizar el componente de línea de comandos de Inkscape.app para hacer conversiones, tal y como leí en una entrada de 2006 en la bitácora de zkwarl, así que es fácil hacer un Automator de tipo aplicación con el siguiente código en una caja Shell:

inkscape_cmd='/Applications/Inkscape.app/Contents/Resources/bin/inkscape'
for f in "$@"
do
    "$inkscape_cmd" -f "$f" -A "$f".pdf
done

Así queda el Automator:

Automator-svg2pdf.app

Si queréis utilizar directamente el Automator, podéis descargarlo (y descomprimirlo) de esta misma página:

Gracias a @javierarantegui por la idea para este artículo.


Comentarios

5 respuestas a «Automator: Convertir archivos SVG en PDF»

  1. Avatar de Javier Sánchez
    Javier Sánchez

    Buenas noches Juande, leyendo tu entrada veo que el automator soporta scripts del terminal. Yo no sé mucho del tema y lo que digo igual es una burrada pero ¿significa eso que el Automator puede ejecutar comandos del terminal directamente? ¿O los comandos y los scripts del terminal son lo mismo? Como ves no tengo mucha idea 😛

    Gracias y saludos.

    1. Hola, Javier, un script de terminal no es más que una serie de comandos que podrías haber tecleado, uno a uno, en un terminal. La diferencia principal es que para usar cosas como bucles, o ejecución condicional, en la línea de comandos usarías el punto y coma como separador, y en el archivo de script puedes usar retornos. Pero puedes copiar de un archivo de script y pegar en el terminal directamente.

      No sé si eso responde a tu pregunta…

      1. Avatar de Javier Sánchez
        Javier Sánchez

        Muchas gracias Juande, responde perfectamente a la pregunta. Y además me explica que es un scripts que es el equivalente a lo que eran los .bat en Windows (salvando las distancias obviamente). ¿Me recomiendas alguna web en la que expliquen bien el funcionamiento de automator? Sin ser la de Apple que me parece más bien pobre.

        Muchas gracias de nuevo.

    2. Algo más que añadir: un comando de terminal es un archivo binario que se puede ejecutar, y posiblemente aceptar argumentos, una entrada de un comando anterior, y quizá proporcionar una salida para el comando siguiente.

      Terminal.app es una aplicación que proporciona una forma de introducir comandos, leyendo primero un “comando de interacción”, o “shell” (que por defecto es /bin/bash en Mac OS X), y ese a través de ese programa Terminal pasa lo que introduzcamos, y nos devuelve los resultados de los comandos. Si escribes esa serie de comandos en un archivo, tienes un script de terminal.

  2. Hola, Javier, un script de terminal no es más que una serie de comandos que podrías haber tecleado, uno a uno, en un terminal. La diferencia principal es que para usar cosas como bucles, o ejecución condicional, en la línea de comandos usarías el punto y coma como separador, y en el archivo de script puedes usar retornos. Pero puedes copiar de un archivo de script y pegar en el terminal directamente.

    No sé si eso responde a tu pregunta…

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)

Descubre más desde Memoria de Acceso Aleatorio

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo