[ID CC2023] Получить все цвета из текста

Oleg_Sh

Топикстартер
15 лет на форуме
Сообщения
179
Реакции
50
Есть текст, покрашенный в разные цвета. Без использования Swatches.
Есть ли способ получить все использованные в текстфрейме цвета?
Типа txtFrame.parentStory.fillColor.colorValue

2023-04-04_020029.jpg
 

densen

15 лет на форуме
Сообщения
765
Реакции
656
Ему colorValue нужен.
JavaScript:
var txtFrame = app.selection[0];
var colors = txtFrame.parentStory.textStyleRanges.everyItem().fillColor;
for (i = 0; i < colors.length; i++) {
    alert(colors[i].colorValue);
    }
 
  • Спасибо
Реакции: LeonidB и Oleg_Sh

Oleg_Sh

Топикстартер
15 лет на форуме
Сообщения
179
Реакции
50
Спасибо! Буду посмотреть.
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 470
Реакции
1 530
Если выделен текстовый фрейм в цепочке связанных фреймов, скрипт анализирует всю цепочку, если я не ошибаюсь :) И произойдёт неприятность, если в цепочку фреймов залит большой текст (до сих пор тыкаю ОК, конца-краю не вижу - а цвет один и тот же; break выдаёт сообщение "Отмена невозможна" - видимо, только выгрузка Индизайна из памяти решит проблему '))' ).

Поэтому 2 вопроса-предложения:
1) можно ли цвет, который уже 1 раз встретился в данном фрейме, второй раз не показывать;
2) можно ли анализировать именно выделенный текстовый фрейм, а не всю цепочку (впрочем, если реализован п. 1, то не страшно и всю цепочку проанализировать - это может быть даже полезно)?
 

Drawer

Участник
Сообщения
1 951
Реакции
875
до сих пор тыкаю ОК,
'))' Приведенный пример не является готовым кодом для применения :) Скорее это направление куда двигаться :)
2 вопроса-предложения
Для рабочего скрипта нужно более понятное ТЗ и желательно пояснить для чего он будет использоваться :)
Так то чтобы посмотреть можно просто скопировать весь текст из фрейма в новый документ сделать Add Unnamed Colors и увидеть их в палите ;) Это если без скриптов :)
 
  • Спасибо
Реакции: densen