我正在寻找关于indesign脚本的内容,我还没有找到关于这个主题的任何内容,我认为这很重要。所以这是我的问题:
答案 0 :(得分:3)
好的,经过一些研究后我发现你可以通过打开“脚本标签”,选择你想要的对象并将标签名写入“脚本标签”面板,为对象设置标签。您不必单击“确定”或“空”,它将自动保存该对象的标签。
执行此操作后,您可以检查对象上的“.label”属性,当您找到带有该标签的对象时,就可以找到它。多个对象可以具有相同的标签。
下面是辅助函数“selectWhere”的示例:
var document = app.documents.item(0); // active document
var allTextFrames = toArray(document.textFrames);
var textFrames = selectWhere("chapterLetter", "label", allTextFrames);
function selectWhere(value, key, array){
var i = array.length; var t; var filtered = [];
while(i--){
t = array[i];
if(t && t[key] == value){
filtered.push(t);
}
}
return filtered;
}
function toArray(objects){
var i = objects.length; var array = [];
while(i--){
array.push(objects[i]);
}
return array;
}
答案 1 :(得分:0)
1)你的第一个问题的答案是: - solved in this thread
2)现在你得到一些textframes.So你可以查询以获得文本框架上的段落样式
var paraStyle1 = app.activeDocument.paragraphStyles.itemByName("styleA");
var paraStyle2 = app.activeDocument.paragraphStyles.itemByName("styleB");
if (paraStyle1.isValid && paraStyle2.isValid)
3)通过paraStyle1.name
,您可以获得样式的名称。参见parastyle1是段落样式对象,因此获取样式对象并通过此属性查找。