[AI CS4-CS6] Хочу написать скрипт, не знаю как начать.

  • Автор темы Автор темы avniv
  • Дата начала Дата начала
Лень влезать в возможности скриптинга, но если все хотелки сводятся к окну печати и его настройкам, то проще задействовать внешние скриптовые языки, типа AutoIT.
Непонятно назначение этого пункта
AutoIT тут совершенно не к месту, все прекрасно решается. Если б топикстартер был чуть более толковый и вменяемый, то можно было б даже и скрипт совместными усилиями запилить. Позиция "не знаю сам чего хочу, додумайте и напишите все за меня, потом обьясните как пользоваться, а я вам может быть спасибо скажу, но только, если вы это сделаете с должным уважением" к сожалению, весьма распространенная на этом форуме, особого желания помогать не вызывает.
 
Насколько я вижу тут вообще экшном обойтись можно скорее всего
вертикальное положение макета =Y, оно меняется по формуле (Y+12-50)+Y, если высота макета 720 мм, то еще +10
Вот эта хотелка не запишется в в экшн, не встречала там условных выражений.
 
Ну вот, розовые звери ломанулись. О референсе я сказал в третьем сообщении этой темы и сразу же начал выяснять странную хотела у с загадочным выражением. Которую топикстартер кстати внятно так и не объяснил обиделсо и разбежавшись прыгнул со скалы. Вот Аня, ты, как известная Ванга, прочитай внимательно весь топик - что именно надо было топикстартеру с таким странным сдвигом по вертикали? В котором он честно признался что вдобавок сам не уверен?
 
Ссылка на рефененсы всегда полезна, как и на хелп))
Вот Аня, ты, как известная Ванга, прочитай внимательно весь топик - что именно надо было топикстартеру с таким странным сдвигом по вертикали? В котором он честно признался что вдобавок сам не уверен?
ТЗ довольно сумбурное, но в целом после ваших уточнений что-то получается разобрать.
Постараюсь максимально конкретно сформулировать задачу.
Скрипт нужен *.vbs потому что я немного знаю этот язык.
1, Имеем открытый документ.
2. Меняем размер монтажной области, к имеющемуся значению +10 мм.
3. Отправляем на печать со след. параметрами:
принтер -Adobe PostScript© File
PPD: TASS printer v3.0
далее все как в диалоговом окне, центрируем по вертикали и горизонтали.
4.считываем полученное значение по вертикали Y
5.меняем его исходя из условий по формуле (Y+12-50)+Y и если высота монтажной области макета 720 мм и более, то еще +10 мм.
6. печать.
7. стоп.
2. Ну тут всё понятно, + 10 мм к width artboard.
3. Эту часть можно свести к сохранению пресета печати и потом просто обращаться к нему. Вообще даже не можно, а нужно.
1585805553245.png

Дальше я уже слаба в реферансах иллюстратора, а искать сейчас не с руки, поэтому код я просто придумала для наглядности)))
4. ТС хочет записать в переменную значение placement Y из диалогового окна Print.
1585806362140.png
5. А потом его же перезаписать по условию:
Код:
if (artboart.height < 720) {
placementY = placementY + 12 - 50 + placementY;
} else {
placementY = placementY + 12 - 50 + placementY + 10;
}

Я не в курсе, можно ли из скриптов достучаться в диалоговое окно Print и что-то там считывать и менять. Вроде как PrintCoordinateOptions имеется, но это уже вам виднее, чем мне.
В крайней случае я бы всё это делала в рамках работы с артбордом, а потом уже отправляла на печать под заданный пресет.
Но всё равно экшен не подойдёт полностью, потому что ифовскую конструкцию ему объяснить не получится.


Хозяйке на заметку: в фотошопе есть довольно примитивный подход к условной обработке экшенами:
1585807116836.png

В Иллюстраторе и такого нет.
 
Высота и другие параметры артборда прекрасно берутся из artboardRect
Я к тому откуда берется такая безумная формула с 2*Y - имхо это сильно навряд ли Placement
 
Я к тому откуда берется такая безумная формула с 2*Y - имхо это сильно навряд ли Placement
Понятия не имею, это какой-то странный offset для вывода постскрипта. Это как раз то, что мне безразлично. Судя по тому, как была сформулирована формула, видимо что-то подобрано очень опытным путём на ощупь.
сильно навряд ли Placement
Я основываюсь исключительно на словах ТС:
Меняется значение Y: сейчас оно 60 после вычисления будет 82 мм
А на один пост выше этого был скрин из диалога Print, где указанное значение Y именно в Placement.
Да и учитывая, что пункт 4 («считываем полученное значение по вертикали Y») идёт после открытия диалогового окна печати, то я тут правильно наванговала.
 
  • Спасибо
Реакции: _MBK_
Аня, ты просто гений, я (и никто другой здесь) без тебя до этого бы не догадались никогда!
Вот что мешало топикстартеру объяснить это нормальным человеческим языком, вместо того, чтобы строить из себя униженного и оскорбленного?
В принципе, это, из окна, конечно, никак не считать, но, вероятно можно как то высчитать исходя из размеров артборда и макета
В любом случае все это уже не "десять строк простецкого некоммерческого кода"
Как минимум надо ТЗ нормальное
 
Книксен.gif


Не по теме:
Когда-нибудь я обязательно придумаю, как этот чудный навык монетизировать))))


В принципе, это, из окна, конечно, никак не считать, но, вероятно можно как то высчитать исходя из размеров артборда и макета
Ну я бы перенесла пункт с выводом постскрипта в самый конец, а все манипуляции делала бы с артбордом, приравняв его к размеру бумаги. А потом бы уже выводила на печать 1 к 1. Меньше мороки с попытками выковырять значения из диалога Print.
Но вообще-то я бы начала с того, что не делала спуск в иллюстраторе. Но это уже совсем другая история.
 
мне кажется, или там просто по центру листа ставится вывод?

а вот смещение по-моему не применить при выводе, там есть только выравнивание по якорям

PrintCoordinateOptions.position
Data Type: PrintPosition , Default Value: PrintPosition.TRANSLATECENTER
Adobe Illustrator 20 Type Library
The artwork position on media.