我正在研究一个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个对象。
答案 0 :(得分:1)
“customStyle”只是一个css类还是已保存样式的名称?我没有真正使用inDesign所以这是推测,但看起来你可以修改CharacterStyle对象的各个属性,如
var myStyle = new CharacterStyle();
myStyle.fillColor = "blue";
myStyle.fontStyle = "verdana";
...
或者你应该能够像这样应用它
t.applyCharacterStyle(myStyle);
根据我对extendcript和photoshop的经验,这只是一个有根据的猜测,对不起,如果它偏离基础。