Telegram Group & Telegram Channel
Программирование внутри Адоба — это качели

На этой неделе я научился работать с масками в Иллюстраторе: заходить внутрь, доставать оттуда объекты, менять форму маски и даже делать маску несколькими формами. Хотя на протяжении нескольких лет думал, что в Иллюстраторе нельзя нормально работать с ними, и если надо было что-то сделать, то разрушал маску, производил манипуляции и потом снова создавал маску. Такой маскарад был 👺. Но такие задачи редко попадались.

И вот я вдохновлённый решением, наконец, давней проблемы сел программировать. Думаю «может действительно всё можно делать в Иллюстраторе? и это я просто плохо читаю документацию?».

Нужно мне сохранить информацию в документ Иллюстратора. Просто строку добавить к описанию. В Индизайне с этим нет проблем — можно любому объекту добавить «теги», которые состоят из пары ключ—значение. Думаю, в Иллюстраторе всё также: теги объектам документа я раньше сохранял. Проблем не должно быть.

Открываю «документацию», нахожу свойство документа
Document.tags
и метод
tags.add()
. Всё просто!

Но нет: оказывается, это теги не документа, а только всех объектов документа. И добавить теги самому документу нельзя. Хотя, например,
Document.textFrames.add()
отлично срабатывает и создаёт на дефолтном месте новый текст.

Уверен на 100%, что разработчикам (прости господи) скриптов Иллюстратора просто было лень делать отдельное свойство для тегов самого документа. В Индизайне, например, есть
Document.pageItems
— это элементы документа, и есть
Document.allPageItems
— это вообще все элементы, включая внутри групп.

И проблема эта кроется в отсутствии нормальной документации. Впрочем, не только нормальной, вообще документации. Можно сказать, что она существует только в виде списка объектов, их свойств и методов (не на сайте Адоба, естественно) и поиска ответов на вопросы на форуме Адоба (форум они сделать смогли).

И на этом форуме есть ответ, как сохранить информацию к документу: надо записать в его XMP-свойства (это который в File / File info...). 🤯 То есть надо открыть XML-файл Иллюстратора, пройтись по дереву и добавить нужную информацию в нужное место. И даже пример скрипта прилагают. Вот какой костылище!

Но на написание этого поста меня подтолкнула другая ситуация: Иллюстратор отказался выделять текст. Вот лежит на странице 10 текстов, 8 штук выделяет, а 2 не хочет. Если выводишь в лог свойства текста, всё есть: содержание, шрифт, позиция, не заблокирован. А выделять отказывается собака! Хоть ты тресни! Но это уже тема для другого поста.



group-telegram.com/adobescript/156
Create:
Last Update:

Программирование внутри Адоба — это качели

На этой неделе я научился работать с масками в Иллюстраторе: заходить внутрь, доставать оттуда объекты, менять форму маски и даже делать маску несколькими формами. Хотя на протяжении нескольких лет думал, что в Иллюстраторе нельзя нормально работать с ними, и если надо было что-то сделать, то разрушал маску, производил манипуляции и потом снова создавал маску. Такой маскарад был 👺. Но такие задачи редко попадались.

И вот я вдохновлённый решением, наконец, давней проблемы сел программировать. Думаю «может действительно всё можно делать в Иллюстраторе? и это я просто плохо читаю документацию?».

Нужно мне сохранить информацию в документ Иллюстратора. Просто строку добавить к описанию. В Индизайне с этим нет проблем — можно любому объекту добавить «теги», которые состоят из пары ключ—значение. Думаю, в Иллюстраторе всё также: теги объектам документа я раньше сохранял. Проблем не должно быть.

Открываю «документацию», нахожу свойство документа

Document.tags
и метод
tags.add()
. Всё просто!

Но нет: оказывается, это теги не документа, а только всех объектов документа. И добавить теги самому документу нельзя. Хотя, например,
Document.textFrames.add()
отлично срабатывает и создаёт на дефолтном месте новый текст.

Уверен на 100%, что разработчикам (прости господи) скриптов Иллюстратора просто было лень делать отдельное свойство для тегов самого документа. В Индизайне, например, есть
Document.pageItems
— это элементы документа, и есть
Document.allPageItems
— это вообще все элементы, включая внутри групп.

И проблема эта кроется в отсутствии нормальной документации. Впрочем, не только нормальной, вообще документации. Можно сказать, что она существует только в виде списка объектов, их свойств и методов (не на сайте Адоба, естественно) и поиска ответов на вопросы на форуме Адоба (форум они сделать смогли).

И на этом форуме есть ответ, как сохранить информацию к документу: надо записать в его XMP-свойства (это который в File / File info...). 🤯 То есть надо открыть XML-файл Иллюстратора, пройтись по дереву и добавить нужную информацию в нужное место. И даже пример скрипта прилагают. Вот какой костылище!

Но на написание этого поста меня подтолкнула другая ситуация: Иллюстратор отказался выделять текст. Вот лежит на странице 10 текстов, 8 штук выделяет, а 2 не хочет. Если выводишь в лог свойства текста, всё есть: содержание, шрифт, позиция, не заблокирован. А выделять отказывается собака! Хоть ты тресни! Но это уже тема для другого поста.

BY Сергей Турулин


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/adobescript/156

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. "Like the bombing of the maternity ward in Mariupol," he said, "Even before it hits the news, you see the videos on the Telegram channels." In a statement, the regulator said the search and seizure operation was carried out against seven individuals and one corporate entity at multiple locations in Ahmedabad and Bhavnagar in Gujarat, Neemuch in Madhya Pradesh, Delhi, and Mumbai. Either way, Durov says that he withdrew his resignation but that he was ousted from his company anyway. Subsequently, control of the company was reportedly handed to oligarchs Alisher Usmanov and Igor Sechin, both allegedly close associates of Russian leader Vladimir Putin. This provided opportunity to their linked entities to offload their shares at higher prices and make significant profits at the cost of unsuspecting retail investors.
from br


Telegram Сергей Турулин
FROM American