No es necesario involucrar a Preview en este proceso, aunque si realmente es la ruta que desea seguir, es perfectamente posible. Sin embargo, no parece que Preview sea fundamental para sus necesidades, y hay un método ligeramente más elegante para lograr la conversión:
property text item delimiters : "."
-----------------------------------------------------------
# Pedir al usuario que seleccione un archivo de imagen .webp, del cual
# extraeremos la ruta de su carpeta contenedora, y
# el nombre del archivo
tell [choose file of type ("org.webmproject.webp") ¬
with prompt "Seleccionar Archivo de Imagen .webp", "::"] ¬
to tell {path:item 1's POSIX path, folder:¬
POSIX path of my alias named it} to set WebP ¬
to it & {name:text (1 + (folder's length)) ¬
thru -1 of the path}
# Crear el nombre de archivo predeterminado de JPEG intercambiando
# la extensión de archivo ".webp" por ".jpg", y
# usar la carpeta de origen de WebP como la carpeta de destino de JPEG
tell the text items of WebP's name to set [JPEG, ¬
last item] to [{path:[WebP's folder, it] ¬
, name:it}, "jpg"]
# Pedir al usuario la carpeta de destino y el nombre del archivo,
# que se predeterminan a la carpeta y nombre de archivo de origen
# pero con la extensión de archivo ".jpg"
tell (choose file name default name "" & JPEG's name ¬
default location WebP's folder with prompt ¬
"Guardar Archivo de Imagen .jpg Como...") to set the path ¬
of the JPEG to the POSIX path
# Crear el archivo de salida si aún no existe
# y, en caso de que exista, limpiar su contenido
close access (open for access JPEG's path)
set eof of the path of the JPEG to 0
# Leer en el archivo de imagen .webp original como PNG
# datos de imagen, y poner esto en el portapapeles.
read WebP's path as «class PNGf»
set the clipboard to the result
# Leer el contenido del portapapeles, esta vez como JPEG
# datos de imagen, y escribir esto en la ruta del archivo de salida
get the clipboard as JPEG picture
write the result to the JPEG's path as JPEG picture
# Revelar el archivo de imagen .jpeg en Finder y
# simultáneamente llevar Finder al primer plano
tell application id "com.apple.finder" to activate ¬
(reveal JPEG's «class ppth» as POSIX file)
He utilizado comentarios en el guión anterior para explicar cada paso del proceso. Pero, en términos generales, solicita al usuario que seleccione un archivo de imagen .webp
, y luego seleccione un destino para guardar el .jpg
convertido. La imagen .webp
se lee en el portapapeles del sistema como datos, que luego se convierten en formato jpeg
, se escriben en un nuevo archivo y se revelan en Finder.
Probado en macOS Sonoma 14.6 ejecutándose en un chip Apple M1