我正在使用ExtendScript构建一个InDesign面板,该面板可以查找文本并将其显示给用户。为此,我使用the Character object的showText()
方法。问题是,有时候我正在查找的文本没有出现,因为即使该方法确实在正确的位置显示了正确的页面,文本也会溢出并且不可见。
有没有办法检查文字是否可见?理想情况下,如果文本不能被视为现实,我希望能够回到故事编辑器上...
答案 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将返回一个值,否则会引发错误。
卢瓦克