javascript - 如何使用 ExtendScript 在 InDesign 中以编程方式将文本设置为 "Small Caps"?

标签 javascript adobe extendscript adobe-indesign

我正在尝试执行与选择一些文本并单击 Small Caps 按钮相同的操作。以下是一些尝试:

app.activeDocument.textFrames[0].texts.appliedCharacterStyle.capitalization = Capitalization.SMALL_CAPS;

不起作用:“对根样式的请求无效”

var myCharacterStyle = new CharacterStyle();
myCharacterStyle.capitalization = Capitalization.SMALL_CAPS;
app.activeDocument.textFrames[0].texts[0].applyCharacterStyle(myCharacterStyle);

不起作用:“方法‘applyCharacterStyle’的参数‘using’的值无效。需要 CharacterStyle,但未收到任何内容。”

我应该怎么做?

最佳答案

如果你想改变默认的“[None]”,你需要从创建一个新的字符样式开始

//First create a new character style
var newCharacterStyle = document.characterStyles.add(text.appliedCharacterStyle);
if(text.appliedCharacterStyle!=null){
    newCharacterStyle.basedOn = text.appliedCharacterStyle;
}   
text.appliedCharacterStyle = newCharacterStyle;

//then apply capitalization
newCharacterStyle.capitalization = Capitalization.SMALL_CAPS;

关于javascript - 如何使用 ExtendScript 在 InDesign 中以编程方式将文本设置为 "Small Caps"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10742081/

相关文章:

javascript - 读取输入标签上输入的值

javascript - 对象初始化 - 为什么对象属性初始化为 ": "而不是 "= "

ios - EXC_BAD_ACCESS (SIGSEGV) 上的 KERN_INVALID_ADDRESS

javascript - 替换 JSFL 中的填充颜色

javascript - 在 Photoshop 或 R 中将来自耦合显微镜/光谱学的图像和数据拼接成全景图

javascript - 如何使用 ExtendScript 创建文件夹?

javascript - 字符串中多次出现

javascript - 如何限制用户应根据下拉响应为文本字段赋值?

css - 对齐 Flex 弹出窗口

javascript - Adobe 套接字对象不适用于代理