在InDesign CS6中选择组内的textFrames

Stu*_*urm 0 javascript extendscript adobe-indesign

类似于我早先在页面上基于geometryBounds或部分名称查找textFrame的问题,我现在遇到了查找textFrames的问题,如果它们在组内.如果我使用所有textFrames的数组,例如:

var textFramesArray = document.textFrames.everyItem().getElements();
Run Code Online (Sandbox Code Playgroud)

不会找到任何组内的textFrame.如果它在一个组中,我怎样才能弄清楚如何引用textFrame?即使该组必须取消分组,这很好,但我甚至无法弄清楚如何在页面上找到组!

usr*_*301 7

页面上的组是page.groups......但是无论如何你都不需要这样.Fabian的答案很好,但它不考虑群组,也不考虑剪辑蒙版,也不考虑表格和脚注内的文本框架(等等).

这是一种替代方法:allPageItems几乎可以保证返回所有类型和说服的所有页面项目,组内或其他框架或诸如此类的东西.您可以依次检查,然后处理它们中的每一个,或构建一组文本框架以便在闲暇时使用:

allframes = app.activeDocument.allPageItems;
textframes = [];
for (i=0; i<allframes.length; i++)
{
    if (allframes[i] instanceof TextFrame)
        textframes.push(allframes[i]);
}
alert (textframes.length);
Run Code Online (Sandbox Code Playgroud)