我想从主项目中删除覆盖,但只是对象样式 X 中的项目,我写道:
var doc = app.activeDocument;
var pgs = doc.pages;
for(i = 0; i<pgs.length; i++){
pgs[i].removeOverride(doc.objectStyles.itemByName("myObject"))
}
并且所有覆盖都已删除。我怎么做?提前致谢
最佳答案
诚然,这在 InDesign 对象模型中没有得到很好的记录,但在页面上使用 removeOverride()
(正如您所做的那样)只会删除该页面上所有 pageItems 的所有覆盖。此外,removeOverride()
不接受任何参数。相反,你可以像这样使用它:
var pi = app.activeDocument.pageItems;
var myOS = app.activeDocument.objectStyles.item('myObject');
for(var i = 0; i < pageItems.length; i += 1) {
if(pi[i].appliedObjectStyle === myOS) page[i].removeOverride();
}
这将循环遍历所有 pageItems,检查每个 pageItems 是否具有 objectStyle,如果是,则删除覆盖。
关于javascript - InDesign - 删除主项目覆盖使用选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37444981/