Kesalahan AppleScript menggunakan Adobe Photoshop CC untuk mengonversi profil CMYK secara batch

1

Saya menggunakan AppleScript untuk memproses folder gambar TIFF yang perlu dikonversi ke profil CMYK tertentu di Photoshop. Script pertama meminta folder yang berisi gambar dan kemudian meminta lokasi folder output. Namun, saya mendapatkan kesalahan berikut saat menjalankan skrip:

Adobe Photoshop CC 2015 mendapat kesalahan: Tidak bisa mendapatkan dokumen saat ini.

Hal pertama yang saya coba adalah menghapus currentdari perintah save. Tampaknya Photoshop sebenarnya membuka dan menyimpan dokumen setelah melakukan ini, namun, TIFF tidak ada dalam folder yang ditentukan di newFilePath. Tidak yakin bagaimana saya harus menangani ini karena seharusnya memproses banyak file. Script saat ini di bawah:

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
Matt Furr
sumber
Saya ingin tahu mengapa Anda tidak hanya merekam Tindakan di PShop untuk mengubah profil, kemudian melakukannya sebagai proses Batch ...
Tetsujin
@Tetsujin, pertanyaan bagus. Terutama karena saya tidak bermaksud melakukan ini secara manual setiap kali perlu dilakukan. Skrip ini untuk printer komersial yang akan menjalankan proses ini secara teratur (mingguan) bersama dengan tugas-tugas lain yang sedang berlangsung dalam perangkat lunak Mesin Otomasi Esko. Automation Engine mendukung skrip yang berjalan, oleh karena itu, ini adalah cara yang paling mulus untuk mengintegrasikan konversi.
Matt Furr

Jawaban:

1

Masalahnya tampaknya menjadi opsi tiff.

Itu hilang di depan objek class:TIFF save options,

Garis itu secara keseluruhan (sebagaimana mestinya):

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

Bagaimana saya menemukan jawabannya:

Langkah 1:

Hal pertama yang saya lakukan adalah membuka file baru di editor Script dan berlari:

tell application "Adobe Photoshop CC 2017"

    return current document

end tell

Cukup pasti mengembalikan nama dokumen selama dokumen terbuka di PS. Jadi tidak ada kejutan di sana.

Langkah 2.

Mengambil skrip Anda dan menghapus semua kecuali esensi dan mengganti input dan output dengan nilai statis. Yah secara teknis input itu hanya dokumen terbuka ...

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

Masih mengeluh tentang dokumen itu, tetapi saya tahu itu bukan masalah berdasarkan tes pertama saya.

Langkah 3.

Jadi saya melihat pada dokumen referensi untuk applescript dan di sana saya melihat tif save example. Dapat ditemukan jika Anda mencari: save current document in file myFile as TIFFdi pdf.

Saya tidak terlalu berpengalaman dengan Applescript secara umum apalagi scripting Photoshop dengan itu ... Jadi saya tidak tahu apakah ada cara yang lebih baik untuk men-debug kode, tetapi Script Editor mengeluh tentang savegaris itu dan menyorotnya, jadi saya pikir disitulah letak kesalahannya ... atau sekitar area itu.

Hanya secara manual mencari perbedaan dan kemungkinan kesalahan sintaks, dan saya menemukan itu hilang class:TIFF save options,di awal objek opsi tif dan menambahkan bahwa dalam memperbaiki kesalahan.

Joonas
sumber