Errore di AppleScript utilizzando Adobe Photoshop CC per convertire in batch i profili CMYK


1

Sto usando AppleScript per elaborare una cartella di immagini TIFF che devono essere convertite in un profilo CMYK specifico in Photoshop. Lo script richiede innanzitutto una cartella contenente le immagini e quindi richiede una posizione della cartella di output. Tuttavia, ottengo il seguente errore durante l'esecuzione dello script:

Adobe Photoshop CC 2015 ha ricevuto un errore: impossibile ottenere il documento corrente.

La prima cosa che ho provato è stata rimuovere current dal comando di salvataggio. Sembra che Photoshop stia effettivamente aprendo e salvando i documenti dopo averlo fatto, tuttavia i TIFF non si trovano nella cartella specificata in newFilePath. Non sono sicuro di come dovrei gestirlo poiché si suppone che elabori più file. Lo script attuale è qui sotto:

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

Mi chiedo perché non si registra solo un'azione in PShop per cambiare il profilo, quindi lo si fa come processo in batch ...
Tetsujin

@Tetsujin, buona domanda. Principalmente perché non intendo farlo manualmente ogni volta che è necessario. Questo script è per una stampante commerciale che eseguirà questo processo su base regolare (settimanale) insieme ad altre attività che si svolgono nel software di Automation Engine di Esko. Automation Engine supporta gli script in esecuzione, quindi questo era il modo più semplice per integrare la conversione.
Matt Furr

Risposte:


1

Il problema sembra essere le opzioni tiff.

Manca di fronte all'oggetto class:TIFF save options,

Quella linea nel suo complesso (come dovrebbe essere):

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

Come l'ho capito:

Passo 1:

La prima cosa che ho fatto è stata aprire un nuovo file nell'editor di Script ed eseguire:

tell application "Adobe Photoshop CC 2017"

    return current document

end tell

Certo, basta restituire il nome di un documento finché un documento è aperto in PS. Quindi niente sorprese lì.

Passo 2.

Preso il tuo script e spogliato tutto tranne gli elementi essenziali e sostituito input e output con valori statici. Beh tecnicamente l'input era solo un documento aperto ...

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

Si lamenta ancora del documento, ma so che non è il problema basato sul mio primo test.

Passaggio 3.

Così ho dato un'occhiata a il documento di riferimento per applescript e lì ho guardato l'esempio del tif save. Può essere trovato se si cerca: save current document in file myFile as TIFF nel pdf.

Non ho molta esperienza con Applescript in generale, né tantomeno script Photoshop con esso ... Quindi non so se ci sono modi migliori per eseguire il debug del codice, ma Script Editor si è lamentato di questo save linea e sottolineando, quindi ho capito che è dove l'errore deve essere ... o in quella zona.

Ho cercato manualmente le differenze e possibili errori di sintassi e ho scoperto che mancava il class:TIFF save options, all'inizio dell'elemento opzioni tif e aggiungendo quello in cui è stato corretto l'errore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.