как установить скрипт в иллюстратор
Как установить скрипты в Adobe Illustrator
Привет! При работе в Adobe Illustrator, наступает время когда стандартного функционала может не хватать, либо нужно автоматизировать некоторые рутинные задачи. Вы как “ленивый” (умный) дизайнер, рано или поздно, будете искать варианты упрощения и ускорения, улучшения продуктивности и комфорта своей работы, и на этом этапе вы можете узнать, что в Adobe Illustrator есть скрипты, но как с ними работать и установить их вы можете не знать. Поэтому в данной статье вы узнаете как работать со скриптами, что они из себя представляют, каких видов они могут быть, как из запускать, и где искать информацию для написания своих скриптов.
Стандартная установка и запуск скриптов:
Запуск скриптов
Альтернативный вариант установки и запуска скриптов
Запускать и управлять скриптами можно с помощью дополнительных расширений для illustrator, таких как LAScripts, Scripshon Trees, ScriptBy (для старых версий Illustrator). Я рекомендую использовать LAScripts, в нем очень много фич которых нет в других расширениях, и помимо запуска и изменения скриптов, вы можете управлять и другими файлами не выходя из Adobe illustrator.
Более подробно о фичах и работе расширения LAScripts тут
Запускаем скрипты откуда угодно
Для того чтобы запустить скрипт из панели LAScripts вам нужно добавить папку с скриптами в LAScripts и щелкнуть дабл-кликом по скрипту, либо выбрать его и нажать на кнопку Run. Можете зайти в редактор написать какой-либо кусок кода и запустить скрипт, это может понадобиться для тестирования или отладки скриптов.
Какие скрипты бывают?
Они бывают 2-ух видов:
Как написать свой скрипт для Adobe Illustrator
Посмотреть как написаны и работают скрипты вы можете у других авторов, чтобы понять как и что было написано:
Записки микростокового иллюстратора
Микростоки: рисуем и зарабатываем на своем творчестве
22 февр. 2021 г.
Как устанавливать скрипты и плагины для Adobe Illustrator
Как устанавливать расширения на Adobe Illustrator
📌 Полезные инструменты из видео:
🔧 Для установки скрипта необходимо JSX или JS файл (а также дополнительные файлы) скопировать в папку со скриптами Иллюстратора.
Пример расположения папки со скриптами для Ai 2020:
C:\Program Files\Adobe\Adobe Illustrator 2020\Presets\en_GB\Scripts
🔧 Для установки плагина нужно AIP файл скопировать в папку с плагинами Иллюстратора.
Пример расположения папки с плагинами для Ai 2020:
C:\Program Files\Adobe\Adobe Illustrator 2020\Plug-ins
🔧 Для установки расширения нужно все файлы скопировать в папку для расширений.
Пример расположения папки расширений для Ai 2020:
C:\Users\ИМЯ-ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\Adobe\CEP\extensions
Для старых версий также можно попробовать:
C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
C:\Program Files (x86)\Common Files\Adobe\CS6ServiceManager\extensions
☹ Частые ошибки при установке:
1. Перепутать папку Program files.
2. Засунуть скрипт в папку Scripting вместо Scripts.
3. Потерять дополнительные установочные файлы.
4. Не перезапустить Adobe Illustrator.
5. Установить неподходящую версию.
6. Не руководствоваться инструкцией по установке.
Подпишитесь на нашу рассылку, чтобы не пропустить ничего нового:
Записки микростокового иллюстратора
Микростоки: рисуем и зарабатываем на своем творчестве
23 нояб. 2015 г.
На страницах нашего блога очередная гостевая статья от Татьяны aka Pictulandra. Статья будет полезна всем любителям погонять скрипты в иллюстраторе, так как Таня расскажет нам о плагине Script Bay. Татьяне это расширение очень понравилось и пригодилось в работе, и она спешит поделиться своим позитивным опытом со всеми вокруг. Итак, передаём Тане слово.
Я расскажу вам об одной очень удобной панельке, о которой частенько ходят слухи: как она хороша, и как бы было здорово, если бы она у меня установилась да еще и работала!
Это продукт компании In-Tools Solutions. Он позволяет разместить все ваши скрипты в одной панельке в рабочей среде Adobe Illustrator. Примерно так.
А вот так больше не делать:
Script Bay можно скачать здесь: НАЖМИ МЕНЯ
Преимущества этой панельки:
— Если расположить их в папке Script Bay cross-application, они будут доступны и другим программам Adobe. А можно просто подгрузить их, указав add cross app folder.
— Компактность и удобство. Вы можете расположить все свои скрипты в отдельных папках, организовав их по частоте использования или по их особенностям: рандомные, с выделением, работа с текстом, спецэффекты. Кстати, в настройках Script Bay можно создать категории, которые заменят эти папки.
Но главная причина того, что я пишу эту статью, в том, что стандартный способ установки и кстати рекомендуемый компанией In-Tools Solutions, мне не помог. Как и многим, судя по возгласам в ЖЖ и других сообществах.
— плагин не устанавливается через Adobe Extension Manager и имеет коварное разрешение zxp.
— устанавливается, но слетает или теряет все скрипты при новом запуске Adobe Illustrator.
Поэтому, если у вас тоже не получается установить плагин через Adobe Extension Manager, вы можете пойти по моему пути. Вот как я решила эту проблему.
1. Установка ScriptBay
Достала плагин из архива. Просто открываем ScriptBay.zxp через WinRAR (архиватор) и извлекаем из него файлы в отдельную папку ScriptBay.
C:\Program Files (x86)\Common Files\Adobe\CS6ServiceManager\extensions
Для CS5 надо положить в папку с плагинами Plug-ins.
C:\Program Files\Adobe\Adobe Illustrator CS5\Plug-ins
Для других версий вы можете найти папку по образу и подобию. Для CC, спасибо ребятам за подсказки, вот путь:
C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
2. Добавляем скрипты в ScriptBay
Потом мы добавляем в нашу панель любимые скрипты. Открыть панель плагина можно в меню Window:
Window > Extension > ScriptBay (Окно > Расширения > ScriptBay)
Чтобы добавить скрипты жмем на панельке add script folder и указываем путь к папке хранения скриптов на компьютере.
Обычно путь к папке такой:
3. Меню Script Bay и другие функции
Кратко о других командах контекстного меню:
Меню настроек Script Bay дублирует некоторые команды контекстного меню.
Но имеет и отличия. Так здесь можно создать свои категории для всей коллекции ваших скриптов, что заменит вам создание и сортирование скриптов по папкам.
Я же использую Script Bay исключительно в качестве удобной полочки с нужными мне скриптами.
Вот мой пример размещения скриптов:
На этой оптимистической ноте можно закончить нашу статью. Не забудьте поблагодарить Таню, если вам понравился Script Bay. И конечно, если у вас есть какие-то вопросы или уточнения, вы можете оставлять их в комментариях.
Подпишитесь на нашу рассылку, чтобы не пропустить ничего нового:
Illustrator scripts
Моя коллекция интересных и полезных скриптов для Adobe Illustrator.
Установка скриптов
Если вы никогда не использовали скрипты в Adobe Illustrator, вот вам краткое руководство как запустить скрипт.
Harmonizer
Скрипт для расстановки элементов по сетке
Выделите объекты, запустите скрипт, выберите количество колонок (строки будут высчитаны автоматически), выберите расстояние между элементами, а также их центровку (по дефолту берется самый большой элемент из выбранных).
ArtboardsResizeWithObjects
Скрипт для изменения размера монтажной области вместе с содержимым.
В Adobe Photoshop есть функция “Image size”, для изменения монтажной области вместе с содержимым, но в Adobe Illustrator такой функции, из коробки, нет. Иногда, бывает нужно изменить монтажную область вместе с содержимым, да так чтобы после изменения все состояния сохранились.
Допустим вы решили изменить монтажной область руками, порядок ваших действий: Изменяете монтажную область, потом вы выделяете все элементы на монтажной области, и меняете размер, но тут как раз и всплывает одна проблема. Если у вас есть элементы с обводкой, то при изменения руками, обводка не будет уменьшаться вместе с уменьшением объекта, да можно обойти это решения поставив галочку “Масштабировать обводки и эффекты”, но что делать если вам необходимо изменить размер нескольких монтажных областей? Для упрощения и экономии времени используйте скрипт artboardsResizeWithObjects.jsx
Краткое описание каждого из пунктов скрипта:
ArtboardsRotateWithObjects
Скрипт для поворота монтажной области вместе с содержимым.
В Adobe Photoshop можно поворачивать монтажную облать и содержимое тоже будет повернуто, но в Adobe Illustrator такой функции, из коробки, нет.
Данный скрипт будет полезен, если вам нужно повернуть несколько монтажных областей, или если вы не хотите тратить время на подгонку позиции относительно монтажной области, после ее поворота.
Краткое описание каждого из пунктов скрипта:
InlineSVGToAI
Скрипт для вставки svg (и преобразования кода svg) в документ.
В версии Adobe Illustrator CC 2018 v.22.1 (март, 2018), добавили возможность вставлять svg объект, скрипт в данном случае использовать не нужно.
Меня всегда раздражало, что в программу которая специализируется на векторе нельзя вставить svg, я имею в виду, если мы скопировали svg код из редактора или откуда-нибудь еще, но в виде текста, то в программу его вставить не получится. Нужно будет сначала сохранить код в файл, только после этого открыть файл в Illustraor, скопировать содержимое и вставить в нужный документ. Очень много ненужных действий, не правда ли?
Чтобы избавится от этого недоразумения, я написал скрипт который будет автоматически создавать файл, импортировать содержимое в ваш документ, а после чего его удалит. Т.е. скрипт делает всё тоже самое, но только без нашего участия и не нужно тратить на это время.
Краткое описание каждого из пунктов скрипта:
PuzzleClipper
Скрипт для создания пазлов на основе объектов.
ReplaceItems
Скрипт для замены объектов исходным, объектами из группы или из буфера обмена.
Например, вам нужно заменить некторые элементы на макете, но руками их заменять долго, вы можете использовать данный скрипт для замены, просто выделите нужный вам элемент, скопируйте его, после чего запустите скрипт, выберите пункт “Object Buffer”.
Также скрипт может случайно поворачивать каждый из элементов, брать размеры заменяемого элемента, брать заливку, а также можно не удалять исходный элемент.
Краткое описание каждого из пунктов скрипта:
CreateArtboardsFromTheSelection
Скрипт для создания монтажных областей на основе выделенных элементов.
Скрипт создает монтажную область на основе выделенных элементов, а также для каждого из выделенных.
Краткое описание каждого из пунктов скрипта:
TransferSwatches
Скрипт для импорта образцов цвета (swatches), из документа в активный документ.
Запустите скрипт, выберите из списка документ, также вы можете поставить галочку чтобы цвета с одинаковыми названиями были заменены.
ArtboardItemsMoveToNewLayer
Скрипт который содержимое монтажной области помещает на новый слой.
Запустите скрипт, выберите монтажные области, также вы можете выбрать “удалить пустые слои и подслои”, и “Имя слоя из имени монтажной области”.
Скрипты в Adobe Illustrator
Работа дизайнера, связанная с реализацией каких-либо творческих идей, немыслима без многочисленных рутинных процессов, когда на повторение одной и той же операции приходится тратить массу времени и сил. Причин тому много. Во-первых, требуется оформлять немало графических элементов в едином стиле, что автоматически подразумевает многократное повторение однотипных операций. Во-вторых, в конкретных сферах дизайна существует немало стандартных операций, которые также приходится повторять изо дня в день (классическим примером в этом смысле является приведение к некоему стандартному виду десятков и даже сотен файлов с изображениями). Отдельный вопрос пакетная обработка файлов, когда необходимо наложить одинаковые преобразования сразу на большую группу изображений.
Один из способов автоматизации повторяющихся процессов использование скрипты, которые представляют собой некоторые последовательности команд, могут многократно воспроизводиться и являются наиболее мощным и в то же время самым сложным инструментом автоматизации работы в программе 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 (Файл=>Скрипты=>Другой скрипт).
Рис. 1. Меню Scripts со встроенными скриптами
Библиотеку встроенных скриптов можно неограниченно пополнять новыми скриптами, скачивая их из Интернета или создавая самостоятельно. В обоих случаях дополнительные скрипты просто копируют в эту же папку после перезапуска программы они становятся доступными из меню File=>Scripts наряду со встроенными скриптами. В случае большого количества скриптов разумнее сохранять их не напрямую в папке Presets\Scripts, а в отдельных подпапках, число которых не ограниченно, причем все они будут представлены в виде отдельных подменю команды File=>Scripts (рис. 2).
Рис. 2. Меню Scripts с серией дополнительных скиптов, оформленных в виде нескольких подменю
В скриптах сохраняются практически все последовательности нужных действий и преобразований, которые в дальнейшем можно будет использовать при работе с другими изображениями. Однако есть и исключения: так, в скриптах не могут быть созданы такие объекты, как стили, кисти, графики, сеточные объекты и спирали, а кроме того, из скриптов не могут запускаться плагины.
Скрипты на языке программирования JavaScript представляют собой обычные текстовые файлы с расширением js и потому могут создаваться в любом текстовом редакторе, включая блокнот.
Концепция объектно-ориентированного программирования
Документ, созданный в программе Illustrator, представляет собой некий набор объектов, каждый из которых относится к тому или иному типу (например, является векторным, растровым, символьным и т.д.) и обладает определенными свойствами (шириной границы, цветом заливки и др.). К тому же каждый объект принадлежит некоторому документу, причем находится на его определенном слое и может быть подвергнут некоторым действиям (move, copy, duplicate и пр.).
В целом все эти принципы справедливы и в отношении объектно-ориентированного программирования, с той лишь разницей, что типы объектов здесь принято называть классами, а допустимые в отношении объектов действия методами, однако свойства и здесь именуются свойствами. Чтобы лучше понять связь между классами и объектами, можно представить класс как своего рода чертеж для создания объектов. По этому чертежу как бы изготавливаются разные объекты, обладающие одними и теми же базовыми характеристиками, но при этом каждый объект существует независимо от других, то есть изменение его характеристик никак не влияет на характеристики других объектов. Например, все символьные объекты имеют единую природу, но у каждого из них будут свои размеры, своя настройка цветов и пр.
В JavaScript для обозначения каждого типа объектов, методов и свойств существуют свои зарезервированные имена (или операнды), например pathItems означает векторный объект, symbolItems символьный объект, RasterItems растровый объект, GroupItems элемент группы, Selection выделенный элемент и т.д. (полный набор зарезервированных имен представлен в руководстве по скриптингу).
На каждом слое конкретного документа может оказаться много объектов, поэтому все объекты, лежащие на любом из слоев, объединяются в массивы, в которых объекты различаются между собой по номерам (нумерация начинается с нуля). В итоге обращение к конкретному объекту предполагает последовательное указание обозначения слова app (сокращенно от application, что означает, что объект относится к загруженному приложению), имени документа, номера слоя, названия класса и номера элемента в соответствующем массиве. Например, конструкция app.activeDocument.layers[0].pathItems[0] это обращение к самому первому по глубине залегания векторному объекту, лежащему в активном документе на самом верхнем слое (обратите внимание, что нумерация слоев также начинается с нуля).
Полученные довольно длинные конструкции нетрудно сократить. Здесь можно не указывать ненужные в данном конкретном случае составляющие имени (в частности, если в документе всего один слой, то указывать его необязательно). Можно использовать ссылки на имена, вводя для обозначения части конструкции имени, которую придется многократно повторять, сокращенное имя (такие имена в языке программирования называют переменными). Имена лучше присваивать со смыслом, чтобы упростить ориентацию в теле кода. Например, если предварительно ввести конструкцию mypathItems=app.activeDocument.layers[0].pathItems, то рассматриваемый участок кода будет иметь вид mypathItems[0].
Не стоит использовать в качестве имен слова, задействованные в языке JavaScript для обозначения классов, свойств и методов, ибо это может привести к непредсказуемым результатам. Пример неверно определенной переменной strokeWidth=app.activeDocument.layers[1].pathItems, слово strokeWidth используется для обозначения свойства «Ширина границы»).
До того, как приступать к экспериментам со скриптами, необходимо запомнить несколько правил:
Рис. 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 номера объектов будут увеличиваться.
Рис. 4. Исходное изображение: все объекты имеют широкие границы
Введите в файл debugging.js нижеприведенные строки
mypathItems = app.activeDocument.layers[0].pathItems;
mypathItems[0].strokeWidth=2.5;
mypathItems[1].strokeWidth=3.5;
mypathItems[2].strokeWidth=2.5;
и сохраните файл под тем же именем (рис. 5).
Рис. 5. Текст первого скрипта, набранный в Блокноте
Конструкция mypathItems = app.activeDocument.layers[0].pathItems означает создание переменной с именем mypathItems, благодаря которой можно будет сократить обращение ко всем объектам первого слоя активного документа. Строка mypathItems[0].strokeWidth=2.5 говорит о том, что ширина границы (свойство strokeWidth) у самого первого объекта станет равной 2,5 пикселам. Остальные строки идентичны.
Переключитесь на изображение в программе Illustrator и запустите созданный скрипт командой File=>Scripts=>debugging (Файл=>Скрипты=>Отладка). Результатом будет изменение ширины границы: у первого и третьего объектов на 2,5 пикселов, а у второго на 3,5 пикселов. Поскольку в документе всего один слой, то рассмотренная конструкция может быть и короче (рис. 6).
Рис. 6. Текст первого скрипта после удаления обращения к слою
На практике одинаковые преобразования (как в данном случае изменение ширины границы) чаще всего выполняются в отношении нескольких или даже всех объектов. Перечислять их вручную в скрипте, даже просто копируя строки, довольно долго; к тому же это чревато лишними ошибками и усложняет программный код. В таких случаях прибегают к циклам при наличии в документе все тех же трех прямоугольников уменьшение границы в цикле у всех объектов до величины в 0,5 пиксела представлено на рис. 7. Наберите данные строки в файле debugging.js, сохраните и запустите скрипт для обработки рабочего изображения. Измененный скрипт дополнился оператором цикла:
for (условие цикла)<
тело цикла
Рис. 7. Скрипт для идентичного изменения ширины границы во всех объектах слоя
Условие цикла может выглядеть по-разному, но в большинстве случаев оно может быть представлено конструкцией i=0;i 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.
Рис. 30. Скрипт для экспорта открытых изображений в формате jpg и их закрытия
Проведение пакетной обработки файлов
Довольно часто бывает необходимо проводить одинаковую обработку для групп файлов, например при приведении большого числа файлов к определенному виду. В таких случаях целесообразно выполнение скрипта в пакетном режиме. Хотя такой возможности в программе Illustrator не предусмотрено, но в пакетном режиме можно запускать макрос, в качестве одной из команд которого может выступать запуск нужного скрипта.
Представьте, что имеется очень много файлов, разработанных разными пользователями, и что их нужно максимально уменьшить в размере и перезаписать в одном формате EPS. В отношении каждого файла нужно выполнить две операции: удалить утяжеляющие файл ненужные кисти, графические стили, символы и цвета, а затем сохранить изображение в формате EPS. Теоретически можно поместить обе операции в один скрипт, который в дальнейшем запускается в пакетном режиме из палитры Actions (Действия), но на практике придется поступать иначе воспользоваться макросом Delete Unused Palette Items из набора Default Actions, который отвечает за удаление неиспользуемых кистей, графических стилей, символов и цветов. К сожалению, возможности JavaScript несколько ограниченны, и потому для решения этой задачи пришлось бы применять команды docRef.swatches.removeAll(), docRef.symbols.removeAll() и docRef.graphicStyles.removeAll(), которые приведут к удалению всех цветов, символов и пр., а не только неиспользуемых, что нельзя признать оптимальным решением. Можно удалять ненужные графические элементы по очереди, но это отнимет очень много времени и сил. Благодаря же макросу Delete Unused Palette Items нужное нам действие будет выполняться в считаные секунды, поэтому мы остановимся на комбинировании скрипта и макроса.
Откройте палитру Actions (Макросы) при помощи команды Window=>Actions (Окно=>Действия) и создайте в ней новый набор действий, щелкнув на кнопке Create New Set (Создать новый набор), расположенной в нижней части палитры. Выберите макрос Delete Unused Palette Items, продублируйте его командой Duplicate (Дублировать) и перетащите дублирующую операцию в созданный набор макросов. Теперь нужно дополнить макрос операцией сохранения файла в формате EPS за данную операцию будет отвечать специально созданный скрипт SaveAsEPS (рис. 31). Сохранять файлы будем под их исходными именами в папке C:/temp/.
Рис. 31. Скрипт для сохранения изображений в формате eps
Казалось бы, логичнее оформить запуск скрипта в виде второго макроса в созданном наборе действий, но это будет неудобно при дальнейшей обработки файлов. Дело в том, что в пакетном режиме можно запускать только один макрос, поэтому для того, чтобы операция обработки файлов осуществлялась в один прием, дополните макрос Delete Unused Palette Items запуском скрипта и измените имя макроса. Запуск скрипта можно включить в набор при помощи команды Insert Menu Item (Вставить пункт меню) меню палитры Actions, указав в открывшемся окне команду File=>Scripts=>SaveAsEPS (Файл=>Скрипты=>Сохранить как EPS), рис. 32.
Рис. 32. Вид палитры Actions после добавления скрипта
Для выполнения созданного макроса в пакетном режиме из меню палитры Actions откройте команду Batch (Пакетная обработка), в открывшемся диалоговом окне выберите набор макросов в списке Set (Набор), а затем нужный макрос в списке Action (Действие). Далее в списке Source (Источник) установите вариант Folder (Папка), щелкните на кнопке Choose (Выбрать) и укажите ранее созданную папку-источник. В списке Destination (Приемник) выберите вариант Save and Close (Сохранить и закрыть) (рис. 33) и щелкните на кнопке ОК. Результатом станет появление уменьшенных в размере файлов в папке C:/temp/ все они будут в формате EPS.
Рис. 33 Настройка пакетной обработки файлов