Como ya he dicho me gusta buscar formas de que las máquinas que ahorren trabajos repetitivos.
Lo último que he intentado es una tarea mediante automator que me sirva para adaptar imágenes para el blog.
Cuando subo alguna imagen si están hechas con la cámara o con el dron suelen ser demasiado grandes y eso hace que «pesen» demasiado en una web.
Esto además de ser perjudicial para el servidor energéticamente es poco eficiente en todos los sentidos, más datos para procesar del lado del servidor, más datos transferidos por la red y más datos a decodificar en local.
Total que me hice un servicio en Automator para convertir las imágenes a una resolución suficiente para poder verlas a casi cualquier tamaño que necesite dentro de la web.
Este primer paso fue sencillo.
Simplemente se coge la acción «Ajustar el tamaño de las imágenes» se le dice el tamaño final que han de tener y listo.
Pero entonces me di cuenta de un pequeño detalle…
Las fotografías de la cámara o del dron tienen una resolución innecesaria para publicarlas en la web.
Todo lo que esté por encima de 72 dpi vuelve a ser inneficaz.
Así que volví a darle una vuelta.
El problema es que no hay una acción en las opciones de automator para poder hacer esta tarea.
El Terminal es amigo de Automator
Como integrar en Automator una acción que no está dentro de las acciones.
Pues con el Terminal…
Después de buscar información al respecto me he encontrado con el comando SIPS.
Y tras algo más de lectura del manual he construido esta secuencia.
sips -s dpiHeight 72 -s dpiWidth 72 "$1"
Con esta llamada lo que hace SIPS es cambiar la resolución vertical y horizontal a 72 dpi del fichero seleccionado.
Y allá que la incluí en una acción para el terminal.
Pero… siempre hay un pero cuando intentas explotar a las máquinas…
Resulta que hay un bug, SIPS no es capaz de cambiar la resolución de las imágenes cuando trata ficheros JPEG.
Funciona estupendamente con todo tipo de archivos, TIFF, PNG, JPEG2000, incluso con PDF, pero con JPEG no…
Casi tiro la toalla cuando pensé que si la máquina es la que iba a hacer el trabajo pues que trabajase un poco más.
Total que construí una nueva secuencia.
Al final lo que he hecho es que coja el JPEG que quiero procesar, lo convierta en PNG, tras esto SIPS le cambia la resolución, le ajusto el tamaño a la medida que quiero y lo guardo como JPEG.
Lo he creado como servicio y lo tengo disponible en el menú contextual del Finder así que funciona estupendamente.