Переменные в иллюстраторе. Variable importer
Получаю нереальный кайф когда удается автоматизировать какую-нибудь рутинную операцию. Для меня это одна из самых интересных областей в дизайне. Бьешься, напрягаешь извилины, строишь алгоритм, учитывающий все возможные варианты развития событий. А потом, нажал кнопку и оно заработало. Красота.
Вот допустим надо вам отдать в типографию пару десятков почти одинаковых макетов, которые отличаются одной или двумя деталями.
Я раньше как делал — создаю шаблон, в котором все подготовлено к печати: треппинги, оверпринты, вылеты под обрез и всякое такое.
Так это выглядит.
Вот значит создал я шаблон, получил от менеджера список моделей, подготовил все фотографии (я как-нибудь расскажу об этом) и дальше каждую фотку руками вставляю в макет, меняю текст, проверяю артикул, название, сохраняю вектор и джипег, и все заново. И так раз двадцать или тридцать. Что может быть ужаснее?
Экшены, кстати, тоже не спасли, они работают немного не так как в шопе и мне не хватило ума полностью ими всё автоматизировать.
Пошел читать как в иллюстраторе можно автоматизировать хоть что-нибудь, и нашел панель variables. Переменные значит.
Можно назначить внутри макета некоторые элементы переменными и динамически заменять линки или скрывать объекты, или менять текст в текстовых блоках.
Кажется — вот оно! Но не тут-то было. Оказывается чтобы эти переменные заработали надо скормить иллюстратору специально подготовленный XML-файл, с тегами, разметкой и корректным синтаксисом. Поскольку я ниразу не программист, для меня это все темный лес.
Тут нам на помощь приходит скрипт, написанный как раз для решения этой проблемы. VariableImporter называется. Я нашел его на гитхабе. Он позволяет импортировать данные для переменных из таблицы экселя. Сейчас расскажу как это работает.
Сначала в самом иллюстраторе в шаблоне называем объекты, которые будут меняться, какими-нибудь вменяемыми именами (латиницей конечно же) и запоминаем эти имена.
- Vendor — это артикул, он расположен на верхнем торце. Это простой текст, он выровнен по центру, чтобы при изменении длины надписи, она не уехала никуда.
- About — описание на обороте. Это текстовый блок, кегль и интерлиньяж уже настроены. Сюда будет поставляться описание из таблицы. Кстати, в экселе не забудьте после предлогов неразрывные пробелы поставить, чтоб они на новую строку всегда переносились.
- Boxers, Slips и Shorts — это вид трусов, который на лицевой части подписан. Он был текстом, но я решил закривить его и сделать одной сложной кривой, чтобы проще было включать и выключать. В шаблоне должны быть сразу все виды, потом в таблице мы будем указывать, на каком макете какой объект показывать.
- Photo — это подлинкованный файл с трусами на лицевой части. Лучше сразу сделать его тифом нужного размера, без клиппинг маск. Потому что при замене линка в маске бывают проблемы.
Теперь нужно сложить в одну папку все фотографии которые будут подлинковываться в макеты. В моем случае важно чтобы название файла совпадало с артикулом, это упростит заполнение таблицы в экселе. Поэтому когда сохранял фотографии сразу называл их корректными именами.
Дальше готовим табличку из которой будут импортироваться данные.
Копировать и вставлять имена файлов по одному очень долго, и невыносимо лениво. Поэтому я покажу как это автоматизировать.
Берете этот текст:
chcp 1251
echo %date% %time% >filelist.txt
dir /b /d >>filelist.txt
Вставляете его в блокнот и сохраняете с расширением .bat
Теперь получившийся файлик копируете в папку с картинками и запускаете. Немного магии и у нас получается текстовый документ со списком файлов в папке, теперь просто вставляем его в эксель.
Вы же помните, что файлы у нас называются в соответствии с артикулами? А это значит что мы можем быстро заполнить и первый столбец. Вставляем в него скопированный список файлов, выделяем столбец. Нажимаем справа вверху «найти и выделить», выбираем «замена».
В первом поле пишем .tif следующее оставляем пустым, чтобы заменить эти знаки на ничего, и нажимаем «заменить всё».
В последний столбец копируем описания. Я к сожалению пока не придумал как это ускорить. Поэтому пока только руками.
Чтобы обозначить какой артикул соответствует какому типу трусов нужно в ячейке поставить любой знак, например Х. Это будет обозначать что объект отображается в макете. Если ячейка пустая, то объект не показывается.
Теперь сохраняем файл как текстовый документ с разделителями табуляцией (да, такой пункт есть в экселе) и идем в наш любимый иллюстратор.
Файл — скрипт — другие скрипты и выбираем VariableImporter. Откроется окно скрипта, нажимаем Choose Data File и выбираем текстовый файл, который мы сохранили из экселя.
Кстати, чтобы скрипт всегда был в списке, нужно положить его в папку по этому пути:
C:\Program Files\Adobe\Adobe Illustrator CS6 (64 Bit)\Presets\en_IL\Scripts\
И нажимаем Import Variables.
Если все хорошо, увидим такое окно.
Жмем ОК и вызываем панель variables.
Теперь надо сохранить каждый макет отдельным файлом с текстом в кривых и встроенными линками. Здесь я пользуюсь экшенами.
Пять шагов:
- Выбрать все текстовые объекты.
- Преобразовать в кривые.
- Сохранить копию. Почему-то у меня не хотел сохранять простым сохранением, только через копию. При сохрании ставим галку — встроить линки.
- Дальше Экспорт в джипег.
- И отмена последнего действия, чтобы раскривить текты иначе переменные перестанут работать и мы сохраним только один вариант макета.
Теперь справа вверху вызываем меню для этой панели и выбираем batch.
Выбираем наш свеженький экшен, источник — переменные. Ставим галки — переписать команду сохранить и переписать команду экспортировать. Выбираем папку, куда сохраняются файлы. И выбираем — имены файлов из имен переменных.
ОК.
И происходит невероятная магия, ради которой проводилось столько подготовки.
Невероятный источник эндорфинов.