Adobe Illustrator має безліч інструментів і функцій, але просунутому користувачеві завжди буде чогось не вистачати. Тому розробники створюють скрипти і плагіни, які допоможуть вирішувати різноманітні завдання і прискорювати трудомісткі процеси. Сьогодні ми підготували для вас огляд найкращих безкоштовних скриптів для Illustrator. Їх список систематизований і розділений на кілька груп по функціональності. Це робота з шляхами і точками, різні типи розподілу форм, генерування об'єктів, робота з панеллю Layers, текстовими об'єктами, кольором і т.д.

Установка і запуск скриптів

Встановити скрипт необхідно в наступні папки:

для Windows: C: \ Program Files \ Adobe \ Adobe Illustrator CC 2014 \ Presets \ en_GB \ Scripts

для Mac OS: Applications / Adobe \ Adobe Illustrator CC 2014 \ Presets \ en_GB \ Scripts

Для запуску скрипта переходимо File> Scripts> ...

Ви також можете помістити скрипти в будь-якому іншому зручному місці на вашому жорсткому диску. В цьому випадку для запуску скрипта переходимо File> Scripts> Other Script ... (Cmd / Ctrl + F12).

Якщо ви часто використовуєте скрипти, то для зручного запуску вам стане в нагоді. цей безкоштовний плагіндає доступ до скрипта з панелі, яку завжди можна розмістити в зручному місці.

Тепер ознайомимося зі списком скриптів, які розділені по функціональності:

Скрипти для роботи з шляхами, точками і ручками

Цей скрипт повертає ручки опорних точок, змінюючи їх довжину однаково. Після запуску скрипта у вас є можливість вибрати одну з п'яти типів ручок, потім встановити параметри для довжин і кутів.

Цей скрипт створює квіточки з традиційних форм. Дуже добре підходить для створення цікавих візерунків, логотипів і т.д.

Скрипт видаляє накладаються точки і повідомляє скільки їх було видалено.

Скрипт закриває відкриті шляхи в поточному документі. Чи не з'єднує стосуються шляху.

Скрипт змінює напрямок виділених шляхів відповідно до напряму верхнього сегмента. Тобто, після застосування скрипта всі вибрані шляхи матимуть один напрямок.

Скрипт копіює самий верхній об'єкт в позиції і розміри інших об'єктів. Складно описати, легше подивитися на малюнок нижче.

Скрипти, що розподіляють об'єкти

Скрипт заповнює форму кружечками.

Скрипт розміщує об'єкти на однаковій відстані уздовж виділеного шляху. Ви можете перерозподілити об'єкти, які знаходяться в одній або декількох групах.

Скрипт дублює верхній об'єкт і розміщує копії в виділених точках.

Скрипт повертає об'єкти до центру верхнього об'єкта.

Скрипт повертає всі об'єкти в позицію верхнього об'єкта.

Скрипт дає можливість розділити площа векторного об'єкта відповідно до даних, які можуть бути представлені в абсолютному або процентному вираженні.

Скрипт створює дзеркальне відображення в відповідністю з обраним типом з панелі.

Скрипти, які генерують об'єкти на підставі інших об'єктів або даних

Скрипт з'єднує форми в стилі мета-болл (ви знаєте російську назву такої форми? Я немає).

Скрипт створює загальні (всі можливі) дотичні до виділених об'єктах.

Скрипт створює направляючі з виділеної точки до виділених криволінійних сегментів.

Скрипт дозволяє генерувати QR код в Ілюстраторі.

За допомогою цього скрипта ви можете автоматично створити календарну сітку всього за кілька кліків. Підтримує мови: EN, RU, DE, UA.

Скрипти з випадковим параметром

Скрипт виділяє об'єкти у випадковому порядку відповідно до зазначеного кількістю.

Скрипт RandomSwatchesFill у випадковому порядку забарвлює виділені об'єкти в кольори обрані в палітрі Swatches.

Скрипт RandOpacity змінює прозорість виділених об'єктів у випадковому порядку в діапазоні від 0% до 100% від первісної прозорості об'єктів.

Скрипт змінює кут лінійного градієнта всіх виділених об'єктів в довільному порядку.

Скрипт Random Order дозволяє розподілити об'єкти у випадковому порядку в панелі Шари. Я використовував цей скрипт при написанні

Скрипти для роботи in the Layers panel

Скрипт видаляє всі порожні шари в поточному документі.

Робота дизайнера, пов'язана з реалізацією будь-яких творчих ідей, немислима без численних рутинних процесів, коли на повторення однієї і тієї ж операції доводиться витрачати масу часу і сил. Причин тому багато. По-перше, потрібно оформляти чимало графічних елементів в єдиному стилі, Що автоматично має на увазі багаторазове повторення однотипних операцій. По-друге, в конкретних сферах дизайну існує чимало стандартних операцій, які також доводиться повторювати день у день (класичним прикладом в цьому сенсі є приведення до якогось стандартного вигляду десятків і навіть сотень файлів з зображеннями). Окреме питання пакетна обробка файлів, коли необхідно накласти однакові перетворення відразу на велику групу зображень.

Один із способів автоматизації повторюваних процесів використання скрипти, які представляють собою деякі послідовності команд, можуть багаторазово відтворюватися і є найбільш потужним і в той же час найскладнішим інструментом автоматизації роботи в програмі Adobe Illustrator. Скриптинг ефективний в самих різних ситуаціях, якщо мова йде про велику кількість однотипних дій, а застосовувати скрипти можна як до окремих зображень, так і до груп зображень, ефективно поєднуючи їх з макросами, що ще більш полегшує і прискорює процес підготовки зображень і економить чимало часу .

У той же час на практиці скрипти використовуються дизайнерами недостатньо широко. По всій видимості, через те, що для їх написання необхідно знати одну з мов об'єктно-орієнтованого програмування: JavaScript, Visual Basic (Windows) або AppleScript (Mac OS). Однак все не так вже й складно, оскільки багато дизайнерів займаються створенням Web-сторінок, що використовують JavaScript і тому мають уявлення про об'єктно-орієнтованому програмуванні, а цих знань цілком вистачає для написання скриптів. Є і ще один аргумент на користь JavaScript даний мова належить до числа переносних, а отже, написані на ньому скрипти будуть працювати як в Windows, так і в Mac OS. В даному уроці ми зупинимося на технології скриптинга на основі JavaScript в середовищі Adobe illustrator CS2, причому для підвищення рівня доступності матеріалу постараємося обійтися без складних формулювань і без використання великої кількості понять нових для рядових користувачів, але прийнятих в програмуванні, оскільки багато хто з них при рішенні більшості стандартних дизайнерських завдань необов'язкові. Бажаючі ознайомитися з JavaScript-скриптинга на більш високому рівні і з основами створення скриптів на Visual Basic і AppleScript можуть звернутися до докладного керівництвавід компанії Adobe (файли документації разом з прикладами скриптів входять в поставку, і їх можна знайти в папці Scripting).

Теоретичні аспекти роботи зі скриптами

В поставку Adobe Illustrator входить кілька готових скриптів, орієнтованих на вирішення найбільш часто повторюваних завдань, в тому числі скрипти для експорту зображень в SVG-, PDF- і Flash-формати. Вхідні в поставку скрипти запускаються командою File => Scripts(Файл => Скрипти) (рис. 1), а зберігаються в папці Presets \ Scripts. Крім того, в роботі можна застосовувати і демонстраційні скрипти, що додаються до документації, їх можна вибрати з папки Scripting \ Sample Scripts за допомогою команди File => Scripts => Other Script(Файл => Скрипти => Інший скрипт).

Бібліотеку вбудованих скриптів можна необмежено поповнювати новими скриптами, завантажуючи їх з Інтернету або створюючи самостійно. В обох випадках додаткові скрипти просто копіюють в цю ж папку після перезапуску програми вони стають доступними з меню File => Scriptsпоряд з вбудованими скриптами. У разі великої кількості скриптів розумніше зберігати їх не безпосередньо в папці Presets \ Scripts, А в окремих підпапках, число яких не обмежено, причому всі вони будуть представлені у вигляді окремих підміню команди File => Scripts(Рис. 2).

У скриптах зберігаються практично всі послідовності потрібних дій і перетворень, які в подальшому можна буде використовувати при роботі з іншими зображеннями. Однак є й винятки: так, в скриптах не можуть бути створені такі об'єкти, як стилі, кисті, графіки, сіткові об'єкти і спіралі, а крім того, з скриптів не можуть запускатися плагіни.

Скрипти на мові програмування JavaScript є звичайні текстові файли з розширенням js і тому можуть створюватися в будь-якому текстовому редакторі, Включаючи блокнот.

Концепція об'єктно-орієнтованого програмування

Документ, створений в програмі Illustrator, являє собою якийсь набір об'єктів, кожен з яких відноситься до того чи іншого типу (наприклад, є векторним, растрових, символьним і т.д.) і має певні властивості (шириною кордону, кольором заливки та ін. ). До того ж кожен об'єкт належить деякому документу, причому знаходиться на його певному шарі і може бути підданий деяким діям (move, copy, duplicate та ін.).

В цілому всі ці принципи справедливі і щодо об'єктно-орієнтованого програмування, з тією лише різницею, що типи об'єктів тут прийнято називати класами, а допустимі щодо об'єктів дії методами, проте властивості і тут іменуються властивостями. Щоб краще зрозуміти зв'язок між класами і об'єктами, можна уявити клас як свого роду креслення для створення об'єктів. З цього кресленням як би виготовляються різні об'єкти, що володіють одними і тими ж базовими характеристиками, але при цьому кожен об'єкт існує незалежно від інших, тобто зміна його характеристик ніяк не впливає на характеристики інших об'єктів. Наприклад, всі символьні об'єкти мають єдину природу, але у кожного з них будуть свої розміри, своя настройка квітів та ін.

В JavaScript для позначення кожного типу об'єктів, методів і властивостей існують свої зарезервовані імена (або операнди), наприклад pathItemsозначає векторний об'єкт, symbolItemsсимвольний об'єкт, RasterItemsрастровий об'єкт, GroupItemsелемент групи, Selectionвиділений елемент і т.д. (Повний набір зарезервованих імен представлений в керівництві по скриптингу).

На кожному шарі конкретного документа може виявитися багато об'єктів, тому всі об'єкти, що лежать на будь-якому з шарів, об'єднуються в масиви, в яких об'єкти розрізняються між собою за номерами (нумерація починається з нуля). В результаті звернення до конкретного об'єкта передбачає послідовне вказівку позначення слова app (скорочено від application, що означає, що об'єкт належить до завантаженому додатку), імені документа, номера шару, назви класу і номера елемента у відповідному масиві. Наприклад, конструкція app.activeDocument.layers.pathItemsце звернення до найпершого по глибині залягання векторному об'єкту, який лежить в активному документі на самому верхньому шарі (зверніть увагу, що нумерація шарів також починається з нуля).

Отримані досить довгі конструкції неважко скоротити. Тут можна не вказувати непотрібні в даному конкретному випадку складові імені (зокрема, якщо в документі всього один шар, то вказувати його необов'язково). Можна використовувати посилання на імена, вводячи для позначення частини конструкції імені, яку доведеться багаторазово повторювати, скорочене ім'я (такі імена в мові програмування називають змінними). Імена краще привласнювати зі змістом, щоб спростити орієнтацію в тілі коду. Наприклад, якщо попередньо ввести конструкцію mypathItems = app.activeDocument.layers.pathItems, То розглянутий ділянку коду буде мати вигляд mypathItems.

Не варто використовувати в якості імен слова, задіяні в мові JavaScript для позначення класів, властивостей і методів, бо це може призвести до непередбачуваних результатів. Приклад невірно певної змінної strokeWidth = app.activeDocument.layers.pathItems, слово strokeWidthвикористовується для позначення властивості «Ширина кордону»).

До того, як приступати до експериментів зі скриптами, необхідно запам'ятати кілька правил:

  • в назвах змінних має значення регістр (тобто mypathItemsі MyPathItemsвиявляться абсолютно різними змінними);
  • номер елемента масиву завжди вказується всередині квадратних дужок ;
  • будь-яка конструкції скрипта (такі конструкції називають операторами) закінчується або символом «;», або закриття фігурної дужки «)». Другий варіант має місце лише в тих випадках; коли в даній конструкції вже фігурує відкривається фігурна дужка «(»;
  • кількість закритих фігурних дужок повністю збігається з числом відкриваються;
  • кожну нову конструкцію краще розміщувати на новому рядку, а конструкції, що розміщуються всередині фігурних дужок, краще друкувати зі зрушенням по рядку (рис. 3). Хоча дані прийоми необов'язкові, але вони значно спрощують орієнтацію в створеному скрипті і дозволяють контролювати число відкриваються і закриваються фігурних дужок.

Принцип написання і налагодження скриптів

Хоча мова JavaScript дуже простий в освоєнні, він тим не менше залишається мовою програмування. На практиці це означає, що досить часто скрипти починають правильно працювати лише після налагодження, яка передбачає виправлення як явних, так і прихованих помилок. Під явними помилками розуміються невірні мовні конструкції, невірний синтаксис, спроби звернутися до неіснуючих змінним і т.п. (Про них повідомляє Illustrator при спробі запуску скрипта). Причина появи прихованих помилок невірний алгоритм, і про таких помилках можна здогадатися лише при уважному аналізі всіх операцій скрипта.

До того як скрипт запрацює, його не раз доведеться редагувати і знову запускати, тому краще відразу помістити скрипт в меню File => Scripts(Файл => Скрипти), ніж кожен раз довго вибирати його вручну за допомогою команди File => Scripts => Other Script(Файл => Скрипти => Інший скрипт). Для цього відкрийте блокнот, збережіть порожній ще файл з розширенням js в папці Presets \ Scripts і перезапустіть програму. Доцільно спеціально відвести для налагодження скриптів один пункт в меню File => Scripts, Наприклад з ім'ям debugging, В цьому випадку, створюючи черговий скрипт, можна буде спочатку розміщувати його в файлі debugging.js в папці Presets \ Scripts, Потім доводити «до розуму» (зручність в тому, що даний скрипт буде відразу видно в меню програми Illustrator), а після налагодження зберігати в тій же самій папці, але вже під персональним іменем.

Освоєння найпростіших конструкцій мови JavaScript

Перш ніж переходити до прикладів створення скриптів, які можуть автоматизувати процес вирішення тих чи інших дизайнерських завдань, розглянемо кілька простих навчальних прикладів, які хоча і не мають особливої ​​практичної цінності, але допоможуть нам розібратися в принципах використання найбільш поширених мовних конструкцій. Для цього створіть в блокноті порожній файл debugging.js і збережіть його в папці Presets \ Scripts. Далі завантажте програму Illustrator і створіть новий документ, Розмістивши в ньому три векторних контуру, наприклад три прямокутника з широкою кордоном (рис. 4). Зверніть увагу на розміщення об'єктів в палітрі Layers: що знаходиться в самому низу шару об'єкт був створений найпершим, а тому в різноманітних масивах він буде фігурувати під 0-м номером; при русі вгору по палітрі Layers номера об'єктів будуть збільшуватися.

Введіть в файл debugging.js нижченаведені рядки

mypathItems = app.activeDocument.layers.pathItems;

mypathItems.strokeWidth = 2.5;

mypathItems.strokeWidth = 3.5;

mypathItems.strokeWidth = 2.5;

і збережіть файл під тим же ім'ям (рис. 5).

конструкція mypathItems = app.activeDocument.layers.pathItemsозначає створення змінної з ім'ям mypathItems, Завдяки якій можна буде скоротити звернення до всіх об'єктів першого шару активного документа. рядок mypathItems.strokeWidth = 2.5говорить про те, що ширина кордону (властивість strokeWidth) У самого першого об'єкта стане рівною 2,5 пикселам. Решта рядків ідентичні.

Перейдіть на зображення в програмі Illustrator і запустіть створений скрипт командою File => Scripts => debugging(Файл => Скрипти => Налагодження). Результатом буде зміна ширини кордону: у першого і третього об'єктів на 2,5 пікселів, а у другого на 3,5 пікселів. Оскільки в документі всього один шар, то розглянута конструкція може бути і коротше (рис. 6).

На практиці однакові перетворення (як в даному випадку зміна ширини кордону) найчастіше виконуються щодо кількох або навіть всіх об'єктів. Перераховувати їх вручну в скрипті, навіть просто копіюючи рядки, досить довго; до того ж це загрожує зайвими помилками і ускладнює програмний код. У таких випадках вдаються до циклів при наявності в документі все тих же трьох прямокутників зменшення кордону в циклі у всіх об'єктів до величини в 0,5 пікселя представлено на рис. 7. Наберіть дані рядка в файлі debugging.js, збережіть і запустіть скрипт для обробки робочого зображення. Змінений скрипт доповнився оператором циклу:

f or (умова циклу) (

тіло циклу

Умова циклу може виглядати по-різному, але в більшості випадків воно може бути представлено конструкцією i = 0; i<имя_объекта.length;i++ , Що означає зміну змінної i на одну одиницю в сторону збільшення від нуля і до тих пір, поки її значення не співпаде з числом об'єктів ( length) В активному шарі активного документа. Тіло циклу обмежена з обох сторін фігурними дужками і може включати як одну, так і декілька рядків (в залежності від числа виконуваних в циклі дій), кожна з яких закінчується символом «;».

Спробуємо тепер змінити скрипт так, щоб кордон змінювалася лише тоді, коли на зображенні є виділені об'єкти, і одночасно ознайомимося з оператором умовного переходу, який в загальному вигляді виглядає наступним чином:

if (умова) (

набір дій 1

набір дій 2

Подібна конструкція означає, що при істинності умови виконується перший набір дій, а в іншому випадку другий. У найпростішому вигляді умова може бути представлено у вигляді рівності або нерівності, а будь-який набір дій полягає в фігурні дужки і може складатися з одного або декількох дій, кожне з яких знаходиться на окремому рядку і закінчується символом «;». Спробуйте змінити скрипт відповідно до рис. 8 і перевірте його на практиці. Скрипт в цьому випадку доповнився новою змінною docSelected, Використовуваної для звернення до виділених об'єктах в циклі (змінна циклу збільшується до тих пір, поки не стане рівною кількістю виділених об'єктів) і фігурує в операторі умови, що перевіряється на наявність виділених об'єктів. Як показує перевірка, даний скрипт при виконанні не видає помилок, але не працює належним чином при наявності виділених об'єктів ширина кордону дійсно змінюється, але не у тих об'єктів, які були виділені, а всього лише у відповідного числа об'єктів по порядку. Проблема криється в рядку mypathItems [i] .strokeWidth = 0.5і буде дозволена в разі її заміни на конструкцію docSelected [i] .strokeWidth = 0.5(Рис. 9). Перевірте це самі, щоб переконатися, що тепер ширина кордону змінюється тільки у тих об'єктів, які були попередньо виділені.

Під кінець введемо в скрипт завершальний штрих доповнимо його так, щоб при відсутності виділених об'єктів на екрані з'являлося відповідне повідомлення (рис. 10 і 11). Для виведення повідомлення скористаємося оператором Alert, Який забезпечує відображення на екрані довільного тексту, попередньо введеного в конструкції Alertв лапках. Варто зазначити, що оператор Alertможе виявитися корисним не тільки в разі потреби супроводжувати роботу скрипта деякими повідомленнями. Набагато корисніше він може виявитися при налагодженні скрипта, коли абсолютно незрозумілі причини неправильної роботи скрипта. Застосовуючи в таких ситуаціях оператор Alert, можна простежити, як розуміє програма ту або іншу інструкцію, і таким чином ви зможете встановити причину невірної роботи програмного коду.

Приклади створення і використання скриптів

Зміна оформлення однотипних об'єктів

Часто буває необхідно швидко змінити у всіх однотипних об'єктів в документі ті чи інші властивості. Наприклад, вам потрібно змінити колір заливки об'єктів або злегка зменшити або збільшити розмір. В ручному варіанті в цьому випадку доведеться виділяти всі ваші об'єкти, що при значному їх кількості досить утомливо. Тому створіть для таких операцій серію скриптів, що виконують дану роботу автоматично. Припустимо, вам потрібно в уже готовому документі злегка зменшити розміри великої кількості символьних зображень ( symbolItems) (Рис. 12), причому заздалегідь невідомо, на скільки пікселів необхідно зменшити значення висоти ( height) І ширини ( width). В такому випадку слід зменшувати на 1 піксель, а якщо цього виявиться недостатньо, то скрипт можна буде неодноразово запускати для подальшого зменшення. Щоб зменшити значення властивості на деяку величину в порівнянні з початковим значенням, перед знаком рівності у властивості слід додати знак «-» в нашому випадку відповідна конструкція набуде вигляду: mysymbolItems [i] .height- = 1. Точно так само можна збільшувати значення властивості, ввівши замість знака «-» знак «+». Створений скрипт представлений на рис. 13, а результат його роботи на рис. 14.

Скрипти можуть використовуватися не тільки для зміни того чи іншого властивості об'єктів, але і для повного їх оформлення, що найчастіше здійснюється накладенням графічного стилю і теж може бути автоматизовано. Графічні стилі ( graphicStyles), Як і багато інших об'єктів, об'єднуються в масиви, і до них можна звертатися за номерами. Для прикладу створимо скрипт, який буде накладати певний стиль на все векторні об'єкти, ширина кордону яких менше або дорівнює 1 (на ділі принцип перевірки зображень залежить від особливостей їх створення та може бути найрізноманітнішим). Приклад подібного скрипта наведено на рис. 15.

Потовщення занадто тонких кордонів

Досить часто після різноманітних перетворень виявляється, що межі частини об'єктів виходять занадто тонкими і можуть бути практично невидимими (рис. 16). Тоді ширину кордону у таких об'єктів доводиться збільшувати, а зробити це вручну при великому числі об'єктів вельми проблематично. Набагато зручніше виконати дану роботу за допомогою відповідного скрипта, що займе лічені секунди. Завдання такого скрипта полягає в тому, щоб перебрати всі об'єкти, а ті з них, які мають меншу ширину кордону (наприклад 0,25 пікселів) збільшити ширину кордону до 0,5 пікселів. Решта меж при цьому повинні залишатися незмінними. Створений скрипт представлений на рис. 17, а результат його роботи на рис. 18.

Форматування текстових об'єктів

Нерідко на якомусь етапі оформлення документа з'являється бажання змінити принцип оформлення назв текстових об'єктів. Однак виділяти велику кількість об'єктів заняття виснажливе. У таких ситуаціях можна створити скрипт, який здатний перебирати текстові об'єкти і змінювати їх характеристики певним чином, наприклад зменшуючи розмір шрифту, його колір, фонт, положення і т.д.

Варіантів таких скриптів можна придумати дуже багато, але ми зупинимося на збільшенні розміру шрифту на 1 одиницю і на зміну його кольору для всіх текстових об'єктів документа (рис. 19). Це передбачає перебір в циклі об'єктів з класу textFrames(Так позначають текстові об'єкти) і коригування їх властивостей characterAttributes.size(Розмір шрифту) і fillColor(В даному випадку колір символів). Подібний скрипт представлений на рис. 20, а результат його роботи на рис. 21.

Вирівнювання висоти і ширини об'єктів

При створенні організаційних, технологічних та інших видів бізнес-діаграм доводиться працювати з великим числом ідентичних об'єктів, наприклад звичайних прямокутників, які розрізняються розмірами в зв'язку з різною довжиною розміщується в них тексту (рис. 22). В кінцевому ж рахунку все зазначені елементи нерідко повинні бути рівними по висоті. Вирівнювати їх вручну, звичайно, клопітно, але дану операцію можна швидко здійснити за допомогою скрипта.

Створимо скрипт, який буде вирівнювати висоту всіх об'єктів по висоті контрольного об'єкта, створеного останнім. Його слід створити, задавши потрібну висоту вручну (рис. 23), причому ширина об'єктів змінюватися не повинна. Для цього достатньо просто перебрати в циклі всі об'єкти, перераховуючи для кожного нову висоту по звичайній пропорції і потім змінюючи її. Для зміни висоти скористаємося методом resize (scaleX, scaleY), де scaleXі scaleYзміна значень ширини і висоти в процентах (в порівнянні зі старими значеннями). У нашому випадку обчислювати потрібно тільки значення scaleY, а scaleXдорівнюватиме 100, так як ширина залишається без зміни. Створений нами скрипт представлений на рис. 24, а результат його роботи на рис. 25.

Зустрічається і така ситуація, коли об'єкти потрібно вирівняти по ширині, залишаючи їх висоту незмінною. Автоматизувати процес теж допоможе скрипт, який можна отримати з попереднього, замінивши властивість height(Висота) на властивість width(Ширина) і відредагувавши принцип масштабування об'єктів в методі resize ( scaleX, scaleY), Де в цьому випадку незмінним має залишатися значення scaleY(Рис. 26).

форматування таблиці

Якщо доводиться регулярно працювати з однотипно оформленими об'єктами, наприклад з таблицями, вміст яких, як і кількість рядків, постійно змінюється, але стиль оформлення при цьому зберігається, то можна значно прискорити процес оформлення таблиці, створивши відповідний скрипт. Припустимо, що всі елементи таблиці створюються в білому кольорі і не мають кордонів (рис. 27). При оформленні необхідно залити заголовні комірки деяким кольором (іншими словами змінити значення властивості fillColor) І додати їм тонку межу шириною в 0,5 пікселів, що передбачає зміну властивостей strokeColorі strokeWidth.

Під заголовками осередками в даному випадку будемо розуміти осередки, які мають певну ліву межу в нашому прикладі 40 пікселів. Колір заливки осередків буде відрізнятися від кольору кордону, тому потрібно сформувати дві змінні кольору назвемо їх colorNewі colorNew1, Для кожної з яких доведеться визначити червону, зелену і синю складові кольору. Після цього буде потрібно перебрати всі векторні об'єкти в циклі і змінити властивості fillColor, strokeColorі strokeWidthтих з них, у яких ліва межа дорівнює 40 пікселів. Створений скрипт представлений на рис. 28, а результат його роботи на рис. 29.

Зверніть увагу, що в розглянутому прикладі самі осередки (тобто відповідні їм прямокутні об'єкти) були присутні в документі, тому їх параметри можна було змінювати. Це означає, що при створенні таблиці її осередки були намальовані у вигляді прямокутних об'єктів, а потім були скопійовані в буфер обміну і продубльовані командою Edit => Paste in Front(Редагувати => Вставити на передній план). Після цього в копії осередків був вписаний текст, згрупований разом з відповідною йому прямокутної осередком. При іншою технологією створення таблиці для її оформлення потрібно зовсім інший скрипт.

Експорт та збереження відкритих документів

Буває, що після роботи з декількома і навіть з багатьма документами в кінці роботи їх все необхідно зберегти або експортувати в потрібний формат. Розглянемо варіант експорту всіх відритих зображень в формат jpg. При створенні скрипта для виконання даної операції, по-перше, потрібно домогтися того, щоб зображення зберігалися з різними іменами і в конкретній папці, а по-друге, слід якось перемикатися з документа на документ за умови, що імена документів довільні.

Для вирішення першої проблеми є два шляхи або задавати папку-приймач, так само як і ім'я документа вручну в ході виконання скрипта (але це досить складно, особливо в разі великого числа зображень), або формувати папку й ім'я документа за певним принципом. Ми підемо іншим шляхом, тобто в якості папки-приймача задамо фіксовану папку C: / temp /, Ім'я документа залишимо тим же, а розширення jpg буде присвоюватися автоматично, за рахунок вибору потрібного формату експорту. В результаті відповідний рядок скрипта в даному прикладі буде виглядати наступним чином: fileSpec = new File ("C: / temp /" + doc.name), Де doc.name ім'я активного документа.

Друга проблема перемикання з документа на документ в скрипті буде вирішуватися автоматично внаслідок того, що кожен вже експортований документ буде відразу ж закриватися, а активним стане завантажений перед ним. Однак потрібно мати на увазі, що число робочих документів в даному скрипті виявиться величиною змінною, так що не вдасться використовувати її в якості верхньої межі виконання циклу. Тому перед циклом потрібно створити додаткову змінну для зберігання вихідного числа документів docLength = documents.length.

Крім того, закривати зображення краще командою doc.close ( SaveOptions.DONOTSAVECHANGES), А не doc.close (), оскільки в другому випадку при закритті кожного зображення програма буде вимагати відповідного підтвердження. Скрипт для вирішення сформульованої проблеми представлений на рис. 30.

Проведення пакетної обробки файлів

Досить часто буває необхідно проводити однакову обробку для груп файлів, наприклад при приведенні великого числа файлів до певного виду. У таких випадках доцільно виконання скрипта в пакетному режимі. Хоча такої можливості в програмі Illustrator не передбачено, але в пакетному режимі можна запускати макрос, в якості однієї з команд якого може виступати запуск потрібного скрипта.

Уявіть, що є дуже багато файлів, розроблених різними користувачами, і що їх потрібно максимально зменшити в розмірі і перезаписати в одному форматі EPS. Що стосується кожного файлу потрібно виконати дві операції: видалити утяжеляющие файл непотрібні кисті, графічні стилі, символи і кольори, а потім зберегти зображення у форматі EPS. Теоретично можна помістити обидві операції в один скрипт, який в подальшому запускається в пакетному режимі з палітри Actions(Дії), але на практиці доведеться діяти інакше скористатися макросом Delete Unused Palette Itemsз набору Default Actions, Який відповідає за видалення невикористовуваних кистей, графічних стилів, символів і кольорів. На жаль, можливості JavaScript кілька обмежені, і тому для вирішення цього завдання довелося б застосовувати команди docRef.swatches.removeAll (), docRef.symbols.removeAll ()і d ocRef.graphicStyles.removeAll (), Які приведуть до видалення всіх кольорів, символів та ін., А не тільки невикористовуваних, що не можна визнати оптимальним рішенням. Можна видаляти непотрібні графічні елементипо черзі, але це забере дуже багато часу і сил. Завдяки ж макросу Delete Unused Palette Items потрібне нам дію буде виконуватися в лічені секунди, тому ми зупинимося на комбінуванні скрипта і макросу.

Відкрийте палітру Actions(Макроси) за допомогою команди Window => Actions(Вікно => Дії) і створіть в ній новий набір дій, клацнувши на кнопці Create New Set(Створити новий набір), розташованої в нижній частині палітри. Виберіть макрос Delete Unused Palette Items, Продублюйте його командою Duplicate(Дублювати) і перетягніть дублюючу операцію в створений набір макросів. Тепер потрібно доповнити макрос операцією збереження файлу в форматі EPS за дану операцію буде відповідати спеціально створений скрипт SaveAsEPS(Рис. 31). Зберігати файли будемо під їх вихідними ім 'ям у C: / temp /.

Здавалося б, логічніше оформити запуск скрипта у вигляді другого макросу в створеному наборі дій, але це буде незручно при подальшої обробки файлів. Справа в тому, що в пакетному режимі можна запускати тільки один макрос, тому для того, щоб операція обробки файлів здійснювалася в один прийом, доповніть макрос Delete Unused Palette Items запуском скрипта і змініть ім'я макросу. Запуск скрипта можна включити в набір за допомогою команди Insert Menu Item(Вставити пункт меню) меню палітри Actions, вказавши у вікні команду File => Scripts => SaveAsEPS(Файл => Скрипти => Зберегти як EPS), рис. 32.

Для виконання створеного макросу в пакетному режимі з меню палітри Actionsвідкрийте команду Batch(Пакетна обробка), в діалоговому вікні виберіть набір макросів в списку Set(Набір), а потім потрібний макрос у списку Action(Дія). Далі в списку Source(Джерело) встановіть варіант Folder(Папка), клацніть на кнопці Choose(Вибрати) і вкажіть раніше створену папку-джерело. В списку Destination(Приймач) виберіть варіант Save and Close(Зберегти і закрити) (рис. 33) і клацніть на кнопці ОК. Результатом стане поява зменшених в розмірі файлів в папці C: / temp /всі вони будуть в форматі EPS.

У вас є унікальна можливість розширити функціонал Adobe Illustrator. Немає нічого простішого, ніж використання скриптів (файлів-сценаріїв), просто виберіть об'єкт і запустіть скрипт, який вам потрібен. Скрипти представлені в цій замітці зекономити вам багато часу, зроблять вашу роботу більш приємною і ефективною. Повірте, вони стоять вашої уваги. Всі скрипти були протестовані в версіях ілюстратор CS3 і СS4.

Якщо вам потрібні доповнення до Illustrator преміум якості, ви можете знайти їх у нас в розділі Illustrator Actions and Scripts на нашому ресурсі GraphicRiver, такі як: Isometric Guides Grid Action (екшен по створенню ізометричної сітки), Pattern Maker (Створення патернів), і Long Shadow Action (Екшен по створенню довгою тіні).

Кращі Екшени (Операції) і Скрипти для Illustrator на Graphic River.

В іншому разі скористайтеся безкоштовними "булочками" про які ми вам зараз розповімо. Але спочатку, давайте розберемося, як встановити скрипти для Illustrator.

установка Скриптів

Скрипти, які ви збираєтеся використовувати, бажано зберігати завжди в один і той же місце, наприклад в директорію Scrips (скрипти). Що б запустити скрипт потрібно зайти в Файл> Сценарії> Інший Сценарій (Command + F12) (File> Scripts> Other Scripts).

Відкрити директорію зі скриптами і запустити потрібний файл.

При створенні малюнка в будь-якому графічному редакторічасто доводиться виконувати одні і ті ж дії. Ще більше часу займає дрібна рутинна робота по підгонці контурів або створення невеликих деталей. При створенні зображень для стоків витрати часу і зовсім можуть стати катастрофічними. На щастя багато завдань можна вирішити використовуючи записані дії або скрипти. Представляємо вам підбірку з 20 зручних і корисних скриптів для.

Як встановити скрипти в Adobe Illustrator

В цілому установка скриптів в Illustrator не представляє нічого важкого. Після того, як ви завантажили потрібні вам скрипт просто відкрийте програму, зайдіть в File> Scripts> Other Scripts і виберіть його. Корисна порада: Скрипти найкраще зберігати в одному місці. Також дуже корисним буде зберігати опису скриптів в окремих файлах - з часом їх база у вас буде тільки зростати, що може призвести до плутанини.

Adjust Dashes

Скрипт Adjust Dashes допомагає вирівнювати пунктирную обведення по ключових точках. Всім відома проблема не дуже красивого пунктиру йде назавжди! Важливий момент: Після роботи скрипта заливка у об'єкта зникне, так що виконуйте його якомога раніше.

Arc Correction

Скажімо, ви хочете намалювати хмаринку. Можна довго возитися з еліпсами і кривими, а можна за секунду накидати її форму за допомогою планшета. Але ось біда - дуги часто виходять дуже нерівними. Скрипт Arc Correction легко виправляє становище.

Arrow-A, Arrow-V

При створенні інфографіки часто використовуються стрілки. Якщо ви хочете намалювати красиву вигнуту стрілку, спробуйте скрипт Arrow-A, Arrow-V. Він створить на кожному виділеному кінці кривої покажчик в формі А чи V.

Circumcircle

Скрипт Circumcircle описує коло навколо обраної фігури. Дуже зручно, тільки не забувайте, що не всяку складну фігуру можна вписати в коло.

Common Tangents

Скрипт Common Tangents малює загальні дотичні для кожної обраної кривої (якщо такі дотичні є).

Divide

Необхідно розділити сегмент на рівні частини? Використовуйте скрипт Divide. Він акуратно і точно розріджене об'єкт на потрібну кількість рівних відрізків.

Extend Handles

Вічна проблема - рівномірний розтягування повзунків у ключовий точки. Ще й є ризик зіпсувати нахил кривої. Скрипт Extend Handles зробить всю роботу за вас.

наприклад:
100: оригінал
120: розширити 20%
80: стиснути 20%
0: прибрати закруглення
-100: звернути закруглення

Merge Overlapped Anchors

Багато фігури простіше спочатку намалювати у вигляді кривої, потім розгорнути її і працювати вже як з повноцінним об'єктом. Але практично завжди відбувається одне і теж - після перетворення кривої в заливку утворюється величезна кількість непотрібних точок, які моторошно заважають при подальшому редагуванні. Скрипт Merge Overlapped Anchors допомагає впоратися з проблемою і видаляє зайві точки не змінюючи форму об'єкта.


Завантажити Merge Overlapped Anchors можна.

Round Any Corner

Складну форму можна створити, об'єднавши кілька простих форм або ж накидавши вугласте обрис. Далі може знадобитися скруглить кути. Завдання рутинна і вимагає часу. Скрипт Round Any Corner спростить цю задачу. Виділіть потрібні точки, запустіть скрипт, введіть значення кута закруглення і насолоджуйтеся результатом.

Tree-like

Дерева - один з часто використовуваних елементів. Малювати дерево довго, а малювати ліс і можна вічність. Скрипт Tree-like малює дерева на основі однієї кривої і може змінювати вид дерева при зміні її розміру. Швидко і красиво.

Tangents From A Point

Цей скрипт малює дотичні від точки до обраного об'єкта. Точка може бути як на кривій, так і ізольована (в такому випадку вона зникне після роботи скрипта). Отримані дотичні можна змінювати на свій розсуд.



Add Highlight And Shadow Swatches

Потрібні швидкі контури затемнення і освітлення? Використовуйте скрипт Add Highlight And Shadow Swatches. Він бере колір з обраного об'єкта, далі вам необхідно задати йому якесь ім'я, після чого на панелі кольорів з'являться його гармонійні відтінки.



Завантажити Add Highlight And Shadow Swatches можна.

Layer Export

Скрипт Layer Export швидко збереже кожен шар в окремий файл у форматі PNG або PDF. Файл буде відповідати імені шару, а розташовуватися вони будуть там же, де і вихідний Ai.

Layer Compose

Скрипт Layer Compose дозволяє швидко об'єднати content- і template-шари в композицію. Для цього необхідно назвати template-шар будь-яким ім'ям з нижнім підкресленням спочатку (_abc) і запустити скрипт.

Specify!

Виберіть один об'єкт, запустіть скрипт Specify! і задайте напрямок вимірювання - у дізнаєтеся довжину або ширину об'єкта. Виділіть два об'єкти - ви дізнаєтеся відстань між ними. Виділіть групу - дізнаєтеся її довжину.

Мікростокер і ілюстратор Ольга Захарова поділилась своїм набором скриптів, яким вона користується щодня в своїй роботі. Сюди увійшли скрипти як для створення ілюстрацій, так і для автоматизації деяких робочих процесів в Adobe Illustrator.

Як ви вже, напевно, зрозуміли, я завжди намагаюся максимально оптимізувати робочий процес :) І сьогодні хочу розповісти вам про декілька скриптах для ілюстратора, які мені в цьому дуже допомагають. Клікнувши на назву скрипта, ви потрапите туди, де його можна скачати / купити.

Close All Paths

вартість: безкоштовно
Що робить: Позбавляється від відкритих шляхів, яких не повинно бути в стокової ілюстрації

Щоб відправити векторну ілюстрацію на стік, потрібно дотримати ряд «правил» - зокрема, позбавити файл від відкритих шляхів. Їх кількість в документі, до речі, дізнатися дуже легко - потрібно виділити все (ctrl + A), піти в верхнє меню Window-Document Info - в віконці «відкинути» меню справа вгорі і вибрати Objects. Якщо в дужках поруч з Paths написано Open: 0, я вас вітаю, в вашій картинці немає помилки (по крайней мере, не в відкритих шляхах). Якщо цифра більше нуля - це порушення стічних правил. І я не знаю, скільки часу ми все б витрачали на пошук цих часто абсолютно незрозуміло звідки утворюватися відкритих шляхів, якби не цей чудовий безкоштовний скрипт - cloth all paths, який дозволяє зазвичай менше, ніж за хвилину закрити всі відкриті шляху, не заморочуючись їх ручним пошуком. При цьому сама картинка зовсім не змінюється. Маст-хев для всіх Стокер!

Magic Eraser

вартість: $5
Що робить: Обрізає ілюстрацію по краю робочої області, видаляючи всі об'єкти, що знаходиться за її межами
Чарівний скрипт, без якого я вже не уявляю свого життя. Особливо актуальний для любителів робити патерни, але я використовую його буквально для кожної ілюстрації - так він мене розбалував. Замість того, щоб виміряти рівний квадрат, щоб підкласти його під фон, я роблю просто більше за розміром, ніж робоча область, А після завершення малювання включаю ерейзер - і він прибирає все зайве.

Коли я тільки вчилася малювати в ілюстратора і пробувала робити свої перші патерни, мене дуже пригнічував процес обрізки зайвих шматків і пошуку маленьких «залишків». Начебто все видалив - перевіряєш розмір, а там не рівний квадрат, а, скажімо, 2001,38 замість 2000 пікселів по висоті. І ти знову йдеш шукати - де ж там загубився зайвий обрізаний, але не віддалений мікро-шматочок ... Тепер все патерни у мене завжди ідеально квадратні. І я точно знаю, що при спробі їх розмножити, я не зіткнемося з «нещільним приляганням» та іншими неприємними багами. Magic Eraser і обрізає все по краю, і удалется все обрізане.

Потрібно враховувати, що при обрізанні важкого файлу прогрес роботи скрипта показується не відразу (тобто кілька секунд - іноді 10-20 - прогрес-бар може залишатися порожнім), головне його не чіпати, а піти попити чай-каву, він відріже. Векторні Трейсі акварелі на моєму досить спритно маці він іноді обрізає по 15-20 хвилин, але все простіше, ніж вручну - уявляєте, скільки там зайвих шматочків? :)

Vary Hues

вартість: безкоштовно
Що робить: Забарвлює вибрані об'єкти в рендомние кольору

Мені подобається застосовувати цей скрипт при малюванні квіточок-листочків, коли є багато різних «частинок», які нудно залишати пофарбованими одним кольором. Щоб застосувати скрипт, потрібно ввести число від 0 до 100, яке відображає «дальність» розкиду нових рендомних квітів. Чим більше число - тим барвистіший і різноманітніше вийде ілюстрація. Я зазвичай ввожу 15-25, мені вистачає :) Танцює скрипт при цьому від початкового кольору картинки. Гарний для включення натхнення і додавання різноманітності в ілюстрації.

Dynamic Corners

вартість:$ 82 (за комплект з чотирьох скриптів, один купити окремо не можна)
Що робить:динамічно округляють кути, дозволяючи в будь-який момент повернутися і змінити радіус

Взагалі кажучи цей скрипт - один з чотирьох, які входять в пакет Vector Scribe від відомого творця скриптів Astute Graphics. Вони все - дуже круті, але з усіх чотирьох я поки користуюся тільки динамік Корнерс, тому що до вивчення повного функціоналу інших просто поки не дійшли руки :)

Скрипт не безкоштовний і не дешевий - пакет Vector Scribe коштує $ 82, але можна скачати тріал і пробувати його безкоштовно 30 днів. На скрипт динамік Корнерс мене спокусив Он Глітчка (пам'ятаєте, я розповідала про курси lynda.com), Сказавши, що, спробувавши цей скрипт в справі, вже неможливо уявити, як жив без нього. І це правда.

Я скачала його потестить - і так звикла, що виконував до цього обрізка кутів round any corner, до якого довелося повернутися після закінчення тестового періоду, почав здаватися моторошно доісторичним і неповоротким інструментом, як ніби сокирою чистиш картоплю ... І я зважилася на покупку - і не пошкодувала. Він особливо допомагає в малюванні графіки, інфографіки та іконок, а також все, що можна намалювати за допомогою простих форм і пентула. Тим, хто малює виключно блоб брашем, він навряд чи потрібен.

Autosaviour

вартість: Безкоштовно - після реєстрації
Що робить: Автоматично зберігає ілюстрацію в задані проміжки часу

Цей скрипт потрапив в список авансом, тому що поки що, на щастя, не було моментів, коли мені довелося б спробувати його в справі. Але так як з якихось незрозумілих логікам в ілюстратора відсутня функція «автосейв», цей скрипт - поки що єдине рішення проблеми раптового вильоту і втрати всіх даних. У мене за півроку ілюстратор вилітав без попередження п'ять-шість разів, і, звичайно, кожен з них - за кілька секунд до збереження який-небудь глобальної, що відняла значну кількість часу роботи :) Дуже хочеться вірити, що цей плагін допоможе мінімізувати втрати при наступному польоті люстри.

Після установки скрипт буде запускатися Атоматіческая при створенні нового документа або відкритті старого. Потрібно буде вибрати період збереження (також можна вибрати, щоб він не зберігав, а нагадував вам зберегти - мабуть на випадок, якщо ви боїтеся випадково перезаписати файл).

Взагалі в інтернеті можна знайти сотні різних скриптів, але я на сьогоднішній день користуюся тільки цими п'ятьма купила пакет платних скриптів від Astute Graphics, які буквально перевернули мій світ :)

Мене часто запитують про те, як встановити скачаний / куплений скрипт, але тут я вам, на жаль, не допоможу, так як це залежить від вашої операційної системиі її версії. Глобально ідея в тому, щоб знайти папку, де у вас лежить ілюстратор, і в ній знайти папку зі Скіпт. Інструкцію, яка спрацює в вашому випадку, ви легко знайдете, погуглити фразу на кшталт «установка скриптів в ілюстратор на ... (назва операційної системи і версії)».

Після установки скрипта доступ до нього здійснюється через верхнє меню File - Scripts - і далі можна вибрати той, який потрібен саме зараз.