- Вы хотите получить цвета текста в Google Slides.
- Вы хотите добиться этого с помощью Google Apps Script.
Если мое понимание верно, как насчет этот ответ? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Точки модификации:
- Чтобы получить цвет в виде строки, используя
asRgbColor()
, как насчет использования asHexString()
? - Или, если вы хотите получить красный, зеленый и синий как целые числа, вы также можете использовать
getRed()
, getGreen()
и getBlue()
.
- В этом случае восстанавливается цвет RGB.
Когда вышеуказанные точки отражаются в вашем скрипте, он становится следующим:
Модифицированный скрипт:
Пожалуйста, измените
From:
var textRanges = pageElements.reduce(function (list, pageElement) {
if (pageElement.getPageElementType() == "SHAPE") {
for (var i=0; i < pageElement.asShape().getText().getRuns().length; i++){
ui.alert(pageElement.asShape().getText().getRuns()[i].getTextStyle().getForegroundColor());
}
}
return list;
}, []);
To:
var textRanges = pageElements.reduce(function (list, pageElement) {
if (pageElement.getPageElementType() == "SHAPE") {
var text = pageElement.asShape().getText().getRuns(); // Added
for (var i=0; i < text.length; i++){ // Modified
if (text[i].getTextStyle().getForegroundColor().getColorType() == SlidesApp.ColorType.RGB) { // Added
list.push({text: text[i].asString(), color: text[i].getTextStyle().getForegroundColor().asRgbColor().asHexString()}); // Modified
}
}
}
return list;
}, []);
- В этом случае вы можете получить результат с помощью
textRanges
. Результат включает в себя объект типа {"text":"sample","color":"#000000"}
.
Ссылки:
Если я неправильно понял ваш вопрос, и это не было Направление вы хотите, я прошу прощения.