1 votos

Error de AppleScript al utilizar Adobe Photoshop CC para convertir por lotes perfiles CMYK

Estoy usando AppleScript para procesar una carpeta de imágenes TIFF que necesitan ser convertidas a un perfil CMYK específico en Photoshop. El script primero pide una carpeta que contenga las imágenes y luego solicita una ubicación de la carpeta de salida. Sin embargo, cuando ejecuto el script obtengo el siguiente error:

Adobe Photoshop CC 2015 tiene un error: No se puede obtener el documento actual.

Lo primero que intenté fue eliminar current desde el comando de guardar. Parece que Photoshop está abriendo y guardando el documento(s) después de hacer esto, sin embargo, los TIFFs no están en la carpeta especificada en newFilePath . No estoy seguro de cómo debería manejar esto ya que se supone que procesa múltiples archivos. El actual script está abajo:

on run
    tell me to open {choose folder}
end run

on open droppedItems
    set destFolder to choose folder with prompt "Select Output Folder"
    repeat with anItem in droppedItems
        tell application "Finder"
            -- Make sure each item is processed by this script is a folder
            if class of item anItem is not folder then
                -- Not a folder, notify the user of the error
                display dialog "Please drop folders containing images"
            else
                -- A folder, get the Adobe Photoshop files and process them
                set fileList to (every file of anItem) as alias list
            end if
        end tell
        HPConvert(fileList, destFolder)
    end repeat
end open

-- fileList is a list of aliases to Photoshop files
-- destFolder is an alias to a folder where the converted TIFFs are to be saved
on HPConvert(fileList, destFolder)
    set destPath to destFolder as string
    repeat with aFile in fileList
        tell application "Finder" to set fileName to name of aFile
        set newFilePath to destPath & fileName
        tell application "Adobe Photoshop CC 2015"
            open aFile
            convert to profile "CGATS21_CRPC6 V2" intent absolute colorimetric with dithering
            save current document in file newFilePath as TIFF with options {embed color profile:true, save layers:true, save spot colors:true} appending lowercase extension
            close current document saving no
        end tell
    end repeat
end HPConvert

0 votos

Me pregunto por qué no se graba una acción en PShop para cambiar el perfil y luego se hace como un proceso por lotes...

0 votos

@Tetsujin, buena pregunta. Principalmente porque no tengo intención de hacerlo manualmente cada vez que haya que hacerlo. Este script es para una imprenta comercial que ejecutará este proceso de forma regular (semanal) junto con otras tareas que se realizan en el software Automation Engine de Esko. Automation Engine admite la ejecución de , por lo que esta era la forma más sencilla de integrar la conversión.

1voto

Joonas Puntos 216

El problema parece ser las opciones de tiff.

Falta en la parte delantera del objeto class:TIFF save options,

Esa línea en su conjunto (como debe ser):

save current document in file newFilePath as TIFF with options {class:TIFF save options, embed color profile:true, save layers:true, save spot colors:true} appending lowercase extension

Cómo lo descubrí:

Paso 1:

Lo primero que hice fue abrir un nuevo archivo en el editor script y lo ejecuté:

tell application "Adobe Photoshop CC 2017"

    return current document

end tell

Por supuesto, devuelve un nombre de documento siempre que haya un documento abierto en PS. Así que no hay sorpresas.

Paso 2.

Tomó su script y eliminó todo excepto lo esencial y reemplazó la entrada y la salida con valores estáticos. Bueno, técnicamente la entrada era sólo un documento abierto...

set fileName to "Filename.tif"
set newFilePath to "/Users/joonaspaakko/Desktop/test/output/" & fileName
tell application "Adobe Photoshop CC 2017"

    convert to profile "High Quality Print" intent absolute colorimetric with dithering

    save current document in file newFilePath as TIFF with options {embed color profile:true, save layers:true, save spot colors:true} appending lowercase extension

    close current document saving no

end tell

Todavía se queja del documento, pero sé que ese no es el problema según mi primera prueba.

Paso 3.

Así que eché un vistazo a el documento de referencia para applescript y ahí miré el ejemplo de guardar tif. Se puede encontrar si se busca: save current document in file myFile as TIFF en el pdf.

No tengo demasiada experiencia con Applescript en general y mucho menos con el scripting de Photoshop... Así que no sé si hay mejores formas de depurar el código, pero el editor de script se quejaba de eso save línea y resaltándola, así que me imaginé que ahí debía estar el error... o alrededor de esa zona.

Acabo de buscar manualmente las diferencias y los posibles errores de sintaxis, y descubrí que faltaba el class:TIFF save options, al principio del objeto de opciones tif y al añadirlo se solucionó el error.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X