3

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

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

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

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

这正是我们想要的。现在出现的问题是,有时我们想对单个字符应用多种不同的样式,所以我们最终会这样做:

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

显然,customStyle2overrides customStyle1,这违背了目的。有没有办法解决?

注意:我尝试applyCharacterStyle改用,但该方法不将字符串作为参数,只有CharacterStyle对象。

4

1 回答 1

1

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

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

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

t.applyCharacterStyle(myStyle);

这只是基于我对扩展脚本和 Photoshop 的经验的一个有根据的猜测,抱歉,如果它偏离了基础。

于 2012-05-22T18:28:39.833 回答