InDesign-Konvertierung von INDD zu IDML

0
5562

Lerne jetzt die automatische Konvertierung von INDD zu IDML mit AppleScript!
Entledige dich der Kompatibilitätsprobleme unterschiedlicher InDesign-Versionen.

Heute befassen wir uns mal mit einem Goodie für die kreativen unter uns.
Die meisten, die bereits im beruflichen Umfeld mit Adobe InDesign gearbeitet haben, kennen das leidige Problem…
Mehrere Indesign-Versionen, mehrere unterschiedliche .indd-Dateien, viele Probleme.
Um den Umgang mit solchen Situationen zu vereinfachen wurde von einem Mitglied unseres Teams in der Vergangenheit untenstehendes Script entwickelt.
Dieses muss per Automator/Skript-Editor unter OS X als Dienst (.scpt) abgespeichert und einem Order als Ordneraktion hinzugefügt werden (Rechtsklick auf den Ordner und dann unter „Dienste“ auf „Ordneraktionen konfigurieren“).
Sobald dies geschehen ist hat man einen selbst gebauten „Hotfolder“, mit welchem es möglich ist, Dateien zu konvertieren.
Hierbei wird das aktuelle CC auf dem eigenen Rechner kurz aufgerufen, mit selbigem wird die Datei, welche man zuvor in den Ordner gelegt hat, geöffnet und als .idml-Datei im selben Verzeichnis wieder gespeichert.
Somit sind alle händischen Konvertierungen und Inkompatiblitätsprobleme hinfällig!

on adding folder items to thisFolder after receiving theItems
     try
         tell application "Finder"
             set theName to name of thisFolder
             set theCount to length of theItems
        repeat with f in theItems
            set work_file to f as alias
            --Den Ordnerpfad des zu verarbeitenden Files finden: 
            set the_container to (container of work_file) as string
            --Den Filename ohne Endung in eine Variable schreiben:
            set the_name to name of work_file
            --Die Endung in eine Variable schreiben:
            set the_extension to name extension of work_file
            --display dialog the_name & the_extension #Debug-Ausgabe um zu testen, ob die Variablen korrekt befuellt sind
            if the_extension is not "" then set the_name to (text 1 thru ((length of the_name) - (length of the_extension) - 1) of the_name)


            if the_extension is not "indd" then exit repeat -- # simulated `continue`




            tell application id "com.adobe.InDesign" -- "Adobe InDesign"
                set «class UIAc» of «class pScr» to «constant elnteNvr»
                open work_file without «class psiw»
                tell document 1
                    «event K2  expt» without «class imot» given «class exft»:«constant eXftidml», «class kfil»:(the_container & the_name & ".idml")
                    «event CoReclos» given «class svop»:no
                end tell
            end tell
        end repeat
    end tell
on error the error_message number the error_number
    set the error_text to "Error: " & the error_number & ". " & the error_message
    -- Im folgende wird eine Subroutine aufgerufen, welche eine Zeile in ein Logfile auf dem Desktop schreibt
    -- Falls das Log bereits existiert, so wird lediglich eine Zeile angefuegt
    my write_error_log(the error_text)
end try

end adding folder items to

on write_error_log(this_error)
    set the error_log to ((path to desktop) as text) & "Script Error Log.txt"
    try
        open for access file the error_log with write permission
        write (this_error & return) to file the error_log starting at eof
        close access file the error_log
    on error
        try
            close access file the error_log
        end try
    end try
end write_error_log

Weitere interessante InDesign Skripte findet Ihr hier: https://indesignscript.de

Falls Euch das Skript genutzt und/oder gefallen hat, so lasst uns doch einen Like auf Facebook, ein Follow auf Instagram oder ein Subscribe für unseren Mail-Newsletter da, um fortwährend über neue, informative und lustige Beiträge vom Informatik-Guru informiert zu werden!

HINTERLASSEN SIE EINE ANTWORT

Bitte geben Sie Ihren Kommentar ein
Bitte geben Sie Ihren Namen ein