Возможно ли создать скрипт?

Статус
Закрыто для дальнейших ответов.

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
Который бы копировал названия цветов из палитры Separation Preview и выводил их в строчку одно за другим, раскрашивая каждое название соотв цветом?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
IMHO, нельзя, к Separation Preview доступа из скриптинга нет :(
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
а из палитры свочез?
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
А выдать таким образом список из четырёх основных плюс пантоны — не одно и то же?
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
Да суть в этом, по умолчанию выдаем смук и к нему приписываем содержимое свочез.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
К свотчам есть. Я недавно скрипт делал как раз просматривающий свотчи. Кажется, в теме про 0% цвет.
 
  • Спасибо
Реакции: Serj

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
чет не нашел такую тему(
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
если я правильно понял тут идет перебор всех свочей док-та??

Код:
if ( app.documents.length > 0 && app.activeDocument.swatches.length > 0 ) {
  for ( i = 0; i < app.activeDocument.swatches.length; i++ ) {
  currentSwatch = app.activeDocument.swatches[i];
  swatchColor = currentSwatch.color;

я просто в скриптописание слабо врубаюсь;]]
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Именно
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
Код:
if ( app.documents.length > 0 && app.activeDocument.swatches.length > 0 )
  for ( i = 0; i < app.activeDocument.swatches.length; i++ )
  currentSwatch = app.activeDocument.swatches[i];
  swatchColor = currentSwatch.color;
var textRef = docRef.textFrames.add();
textRef.contents =currentSwatch
textRef.top = 500;
textRef.left = 250;

не врубаюсь как перечислить в одном блоке все цвета так он только название последнего из свочей выводит(
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 199
например, так:

Код:
if ( app.documents.length > 0 && app.activeDocument.swatches.length > 0 )
textRef = app.activeDocument.textFrames.add();
textRef.top = 0;
textRef.left = 250;
  for ( i = 0; i < app.activeDocument.swatches.length; i++ )
{
  currentSwatch = app.activeDocument.swatches[i];
  textRef.contents =textRef.contents+currentSwatch + "\n";
}
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 199
или так ;)

Код:
newCMYKColor = new CMYKColor();

if ( app.documents.length > 0 && app.activeDocument.swatches.length > 0 )

  for ( i = 0, j=0; i < app.activeDocument.swatches.length; i++ )
{
  currentSwatch = app.activeDocument.swatches[i];
  textRef = app.activeDocument.textFrames.add();
  textRef.top = j;
  textRef.left = 0;
  textRef.contents =currentSwatch.name;
  textRef.textRange.characterAttributes.fillColor = currentSwatch.color;
  j-=12;
}
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
Спасибо огромное!!! то что надо!!!!'alil''alil''alil'
А скриптом можно дату цеплять?
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 199
например:
Код:
var today = new Date();
textRef = app.activeDocument.textFrames.add();
textRef.contents=today.toLocaleDateString();
Ну, а если нужен более весёлый вывод даты, то читайте по этому делу всяческие мануалы, тем более, что их полно в инете, например.
Либо воспользоваться данным скриптом (создаешь текстовый объект, выделяешь его и запускаешь скрипт).
 
Последнее редактирование:
  • Спасибо
Реакции: dumbm1

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
Код:
newCMYKColor = new CMYKColor();

if ( app.documents.length > 0 && app.activeDocument.swatches.length > 0 )

  for ( i = 0, j=0; i < app.activeDocument.swatches.length; i++ )
{
  currentSwatch = app.activeDocument.swatches[i];
  textRef = app.activeDocument.textFrames.add();
  textRef.top = j;
  textRef.left = 0;
  textRef.contents =currentSwatch.name;
  textRef.textRange.characterAttributes.fillColor = currentSwatch.color;
  j-=12;
}

  var newCMYKColor = new CMYKColor();
    newCMYKColor.cyan = 100;
    newCMYKColor.magenta = 0;
    newCMYKColor.yellow = 0;
    newCMYKColor.black = 0;
  
textRef = app.activeDocument.textFrames.add();
textRef.contents = "CYAN";
textRef.top = j;
textRef.left = 0;

textRef.filled = true;
textRef.textRange.characterAttributes.fillColor =newCMYKColor;

  var newCMYKColor = new CMYKColor();
    newCMYKColor.cyan = 0;
    newCMYKColor.magenta = 100;
    newCMYKColor.yellow = 0;
    newCMYKColor.black = 0;
  
textRef = app.activeDocument.textFrames.add();
textRef.contents = "MAGENTA";
textRef.top = j-12;
textRef.left = 0;

textRef.filled = true;
textRef.textRange.characterAttributes.fillColor =newCMYKColor;

  var newCMYKColor = new CMYKColor();
    newCMYKColor.cyan = 0;
    newCMYKColor.magenta = 0;
    newCMYKColor.yellow = 100;
    newCMYKColor.black = 0;

textRef = app.activeDocument.textFrames.add();
textRef.contents = "YELLOW";
textRef.top = j-24;
textRef.left = 0;
textRef.filled = true;
textRef.textRange.characterAttributes.fillColor =newCMYKColor;

  var newCMYKColor = new CMYKColor();
    newCMYKColor.cyan = 0;
    newCMYKColor.magenta = 0;
    newCMYKColor.yellow = 0;
    newCMYKColor.black = 100;

textRef = app.activeDocument.textFrames.add();
textRef.contents = "BLACK";
textRef.top = j-36;
textRef.left = 0;
textRef.filled = true;
textRef.textRange.characterAttributes.fillColor =newCMYKColor;

var today = new Date();
textRef = app.activeDocument.textFrames.add();
textRef.contents=today.toLocaleDateString();



Вот с вашей помощью запилил примерно то что мне нужно, может можно и не так топорно это сделать, но я только начинающий хацкер))))

В процессе появился вопрос -
если я пытался покрасить надпись так:

textRef.filled = true;
textRef.fillColor =newCMYKColor;

то ничего не получалось - почему?
И еще вопрос - можно ли выводить текст из буфера обмена?
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 199
если я пытался покрасить надпись так: textRef.filled = true;
textRef.fillColor =newCMYKColor;
Потому что у объекта TextFrameItem нет таких свойств как filled и fillColor. Поэтому из вашего кода можно удалить все строчки:
textRef.filled = true; - они не нужны
 

Serj

Участник
Топикстартер
Сообщения
24
Реакции
0
'alil'спасибо большое за отчеты и помощь)
А на русском есть что нибудь по теме скриптов для иллюстратора?
 
Статус
Закрыто для дальнейших ответов.