我可以为InDesign DOM的Text对象的appliedCharacterStyle属性分配多个值吗?

时间:2012-05-17 20:45:32

标签: adobe-indesign extendscript

我正在研究一个ExtendScript脚本,我们用它来准备InDesign文件以导出到XHTML。基本上,我们只是在我们需要的地方应用字符样式(看看这个简化的例子):

app.activeDocument.findGrep()[0].appliedCharacterStyle = "customStyle";

当我们使用InDesign的导出到XHTML 功能将结果导出到XHTML时,我们会得到这样的结果:

<span class="customStyle">I</span>

这正是我们想要的。现在出现的问题是我们有时想要对一个角色应用许多不同的风格,所以我们最终会做这样的事情:

var t = app.activeDocument.findGrep()[0];
t.appliedCharacterStyle = "customStyle1";
t.appliedCharacterStyle = "customStyle2";

显然,customStyle2会覆盖customStyle1,这会破坏目的。有没有办法解决这个问题?

注意:我尝试使用applyCharacterStyle代替,但该方法不将字符串作为参数,仅使用CharacterStyle个对象。

1 个答案:

答案 0 :(得分:1)

“customStyle”只是一个css类还是已保存样式的名称?我没有真正使用inDesign所以这是推测,但看起来你可以修改CharacterStyle对象的各个属性,如

var myStyle = new CharacterStyle();
myStyle.fillColor = "blue";
myStyle.fontStyle = "verdana";
... 

或者你应该能够像这样应用它

t.applyCharacterStyle(myStyle);

根据我对extendcript和photoshop的经验,这只是一个有根据的猜测,对不起,如果它偏离基础。