如何使用ExtendScript以编程方式检测某些文本是否可见或已在InDesign文档中溢出?

时间:2012-06-11 20:59:10

标签: adobe-indesign extendscript

我正在使用ExtendScript构建一个InDesign面板,该面板可以查找文本并将其显示给用户。为此,我使用the Character objectshowText()方法。问题是,有时候我正在查找的文本没有出现,因为即使该方法确实在正确的位置显示了正确的页面,文本也会溢出并且不可见。

有没有办法检查文字是否可见?理想情况下,如果文本不能被视为现实,我希望能够回到故事编辑器上...

2 个答案:

答案 0 :(得分:2)

要检查单个字符的情况,请参阅parentTextFrames属性,它返回一个包含0或1帧的数组。在极少数情况下,插入点的左侧在一个帧中,而右侧在下面,则会得到两个帧。

app.selection[0].characters.item(0).parentTextFrames.length

您还可以将角色的索引与故事的最后一个文本容器中的最后一个索引进行比较,例如

app.selection[0].parentStory.textContainers.pop().characters.lastItem().index

当然你应该先看看是否有溢出......

app.selection[0].parentStory.overflows

答案 1 :(得分:1)

您可以在try / catch语句中调用文本的baseline属性。如果文本可见,则baseline将返回一个值,否则会引发错误。

卢瓦克