* * *

Скриптинг в Адобе

The Illustrator Scripting Object Model

В чём разница между скриптами, экшенами и расширениями? - Скрипты не используют интерфейс программы для действий, поэтому они работают быстрее - Экшены не умеют в логические операции, а скрипты умеют - Скрипт может выполнить экшен, но экшен не может выполнить скрипт - Скрипты пишутся под конкретную программу, а расширения могут работать во всех продуктах Креатив Клауд.

Для скриптов можно использовать AppleScript ( .scpt ), JavaScript или ExtendScript ( .js or .jsx) и VBScript ( .vbs ). Для расширений использовался фреймворк Flex для ActionScript, работающий на технологиях Flash, который уже не с нами. Теперь для расширений используются html/css/js.

Примеры скриптов можно посмотреть в папке установки в

/Scripting/Sample Scripts

Для скриптов в Adove Illustrator есть меню

File > Scripts

Чтобы там появился скрипт, нужно сохранить файл в эту папку и перезапустить люстру

/Illustrator CC/Presets/Scripts

Запускать люстру из скрипта на джаваскрипте не не обязательно, а чтобы выйти, используется

app.quit()

Привет мир

var myDocument = app.documents.add();
var myTextFrame = myDocument.textFrames.add();
myTextFrame.position = [200,200];
myTextFrame.contents = "Hello World!";

Если у метода несколько параметров, можно опустить те, что в конце списка параметров. Но если параметр в центре списка, то его нельзя опускать. Вместо этого нужно вставить значение undefined:

//.rotate(angle, changePositions, changeFillPatters, changeFillGradients, changeStrokePatter, rotateAbout)
// последние два параметра опущены
myObject.rotate(30, undefined, undefined, true)

Расширения

Расширения пишутся при помощи CEP(Common Extensibility Platform). Расширение это тот же скрипт на ExtendScript, но с интерфейсом на HTML/CSS/JS, в виде панельки с кнопочками(и чем душе угодно).

Файловая структура:

myextension
├── CSXS
│ └── manifest.xml // конфигурация и разрешения для работы
└── index.html // интерфейс

Внутри manifest.xml - перечисление программ, которые будет поддерживать скрипт:

<HostList>
     <Host Name="PHSP" Version="20" />
     <Host Name="PHXS" Version="20" />
  </HostList>

Коды приложений:


Ссылки