1 заметка с тегом

illustrator

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

Переменные в иллюстраторе. 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\

Во вкладке Опции надо задать имя набора данных (dataset names). Я выбираю в качестве имени артикул, чтобы потом сохранить готовые файлы с этими же именами.

В следующей вкладке указываем путь к папке с картинками.

И нажимаем Import Variables.
Если все хорошо, увидим такое окно.

Ура!

Жмем ОК и вызываем панель variables.

Теперь надо сохранить каждый макет отдельным файлом с текстом в кривых и встроенными линками. Здесь я пользуюсь экшенами.

Вот как выглядит экшен для сохранения файлов.

Пять шагов:

  • Выбрать все текстовые объекты.
  • Преобразовать в кривые.
  • Сохранить копию. Почему-то у меня не хотел сохранять простым сохранением, только через копию. При сохрании ставим галку — встроить линки.
  • Дальше Экспорт в джипег.
  • И отмена последнего действия, чтобы раскривить текты иначе переменные перестанут работать и мы сохраним только один вариант макета.

Теперь справа вверху вызываем меню для этой панели и выбираем batch.

Выбираем наш свеженький экшен, источник — переменные. Ставим галки — переписать команду сохранить и переписать команду экспортировать. Выбираем папку, куда сохраняются файлы. И выбираем — имены файлов из имен переменных.
ОК.
И происходит невероятная магия, ради которой проводилось столько подготовки.
Невероятный источник эндорфинов.