Illustrator脚本:注入文本时如何设置样式?

时间:2017-06-16 22:40:02

标签: javascript jsx adobe-illustrator

我正在循环使用JSON数据,将文本注入Illustrator CC中的现有文本块。

当我注入它时,我想为每个单词设置样式(某些单词将是某种颜色)。

  textArt = doc.textFrames[0];
  for(var i = 0; i < myJSONData.length; i++){
    textArt.contents = textArt.contents + ' ' + datum.text;
    // Something here to style the word "testing"
  }

我可以通过循环文本并应用字符样式来实现这一点,如下所示:

for ( i = 0; i < doc.textFrames.length; i++ ) {
   for ( j = 0; j < textArt.words.length; j++) {
      word = textArt.words[j];
      doc.characterStyles.getByName("bolded").applyTo ( word );
   }; 
};

但是,如果首先将它添加到文本块中,我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您需要创建一个新的单词对象,而不是仅仅向内容添加新文本:

var textArt = doc.textFrames[0];
var newWord = textArt.words.add(' new text');
doc.characterStyles.getByName("bolded").applyTo(newWord);