Adobe Extendscript ist eine Erweiterung von JavaScript (im folgenden ist immer von JavaScript die Rede), die dazu dient, diverse Adobe Software zu Skripten. Das Adobe Extendscript Toolkit dient dabei als IDE und wird generell zusammen mit Illustrator, InDesign®, etc.. installiert.

Im Gegensatz zu InDesign® ist die Erweiterung von JavaScript in Illustrator durch externe Plugins sehr begrenzt. Es wird lediglich eine einzige Schnittstelle zur Verfügung gestellt:

Application.sendScriptMessage (pluginName: string , messageSelector: string , inputString: string ): string

Diese Funktion ist die Schnittstelle um die priint:comet Illustrator Plugins über Extendscript zu verwenden.

Dabei müssen die Parameter wie folgt aussehen:

Funktionsparameter werden als Stringrepräsetation eines JSON-Objektes übergeben. Dieser String repräsentiert in der Regel eine Liste von Schlüssel/Wert Paaren.

Adobe ExtendScript stellt - obwohl es eine Erweiterung von JavaScript sein soll - keine Standardfunktionalität für JSON zur Verfügung. Wenn Sie die Parameterstrings nicht immer von Hand erzeugen wollen, sollten Sie die Verwendung externer Bibliotheken in Betracht ziehen (z.B. JSON-js oder JSON 3)

Bitte beachten Sie, das Stringparameter die Anführungszeichen oder Backslashes enthalten entsprechend escaped werden müssen (siehe executeCScript Beispiel).

Ausführen eines cScriptes im aktuellen Dokumentkontext

Parameter

Name Datentyp Beschreibung
kScript String Das auszuführende cScript als String

Beispiele

Einfaches aufrufen einer "Hello World" Nachricht als cScript

app.sendScriptMessage('CoreService', 'executeCScript', '{ "kScript" : "int main() { showmessage(\\"Hello World\\"); return 0; }" }');


Selbes Script wie oben, allerdings ist hier das escapen der Anführungszeichen automatisiert

var script = 'int main() { showmessage("Hello World"); return 0; }'
script = script.replace(/"/g, '\\"');

var parameter = '{ "kScript" : ';
parameter += '"' + script + '"; }';

app.sendScriptMessage('CoreService', 'executeCScript', parameter);