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!