AppleScript Errore nell'utilizzo di 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 got an error: Can’t get current document.

La prima cosa che ho provato è stata quella di rimuovere current dal comando save. 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 gestire questo dato che si suppone di elaborare più file. Lo script attuale è il seguente:

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
    
posta Matt Furr 29.06.2017 - 08:22
fonte

1 risposta

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 ho capito:

Passaggio 1:

La prima cosa che ho fatto è stato 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ì.

Passaggio 2.

Ha preso il tuo script e ha rimosso tutti gli elementi essenziali, sostituendo l'input e l'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

Ancora lamenta il 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 di 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 quella riga save e sottolineando, quindi ho capito che è dove l'errore deve essere ... o intorno a quell'area.

Ho cercato manualmente le differenze e possibili errori di sintassi, e ho scoperto che mancava il class:TIFF save options, all'inizio dell'oggetto delle opzioni tif e l'aggiunta di quello corretto nell'errore.

    
risposta data 29.06.2017 - 08:59
fonte

Leggi altre domande sui tag