我正在使用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对象作为参数。
最佳答案
“ customStyle”是CSS类还是已保存样式的名称?我并没有真正使用inDesign,所以这是推测,但看起来您可以修改CharacterStyle对象的各个属性,例如
var myStyle = new CharacterStyle();
myStyle.fillColor = "blue";
myStyle.fontStyle = "verdana";
...
或者什么,那么你应该能够像这样应用它
t.applyCharacterStyle(myStyle);
根据我对extendscript和photoshop的经验,这只是一个有根据的猜测,对不起,如果它离基础很远的话。
关于adobe-indesign - 我可以为InDesign DOM的Text对象的AppliedCharacterStyle属性分配多个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10643251/