Automatización(3)

Varias veces me he encontrado realizando labores repetitivas y he deseado contar con algo que me ayudara a completarlas más rápido. La última vez fue hace unos días. Me puse a editar dos de las muchas presentaciones de PowerPoint que tengo de las diferentes materias que me tocan impartir.

Mis presentaciones utilizan un «tema» que, como «marca de agua», incluye en el centro de la diapositiva el escudo del IPN. Las imágenes con las que ilustro estas diapositivas las tomo de Internet y muchas de ellas no incluyen transparencia en su fondo. Como resultado, «se ve la manchota» en la diapositiva: el margen de la imagen corta otras imágenes, texto o la «marca de agua». Así que me puse a arreglar un poco esto.

La labor es bastante repetitiva:

  1. Seleccionar la imagen en la diapositiva de PowerPoint.
  2. Copiarla.
  3. Pegarla en Preview.
  4. Convertirla a PNG salvando o exportando la imagen
  5. Usar la herramienta Preview para quitar el fondo.
  6. Seleccionar nuevamente toda la imagen y copiarla.
  7. Pegarla nuevamente en PowerPoint.

Los primeros cuatro pasos son los más tediosos por su uniformidad. El quinto paso sería el más difícil de automatizar. Los dos últimos pasos son rápidos (y el último requiere la intervención humana). El script incluido más abajo se encarga de realizar esos tediosos primeros cuatro pasos, lo que hace que uno tome el control del flujo de trabajo al salvar el archivo en formato PNG (confirmando la sobreescritura del archivo de trabajo a partir de la segunda imagen). Así que, con las aplicaciones Microsoft PowerPoint, Preview y Script Editor abiertas, uno va cambiando de una a otra con relativa regularidad y rapidez.

tell application "Microsoft PowerPoint"
	activate
end tell

delay 0.5

tell application "System Events"
	tell process "Microsoft PowerPoint"
		-- Copiar imagen seleccionada
		keystroke "c" using command down
	end tell
end tell

delay 0.5

-- Abrir Preview
if application "Preview" is not running then
	tell application "Preview" to launch
end if

tell application "Preview" to activate

delay 0.5

tell application "System Events"
	tell process "Preview"
		
		-- Nuevo desde portapapeles
		keystroke "n" using command down
		
		delay 0.7
		
		-- Exportar
		keystroke "s" using {command down}
		
		delay 1
		
	end tell
end tell

No es una automatización total, pero ahorra tiempo y tedio. Para el interesado, este script y algunos otros están siendo recopilados en un «repositorio» de GitHub.

Siguiente

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.