Javascript Indesign脚本-如何获取线程文本框架中的第一段

Javascript Indesign脚本-如何获取线程文本框架中的第一段,javascript,scripting,adobe-indesign,Javascript,Scripting,Adobe Indesign,我有一本书,每页都有文本框,它们都是线程连接在一起的,我想抓住每个文本框的第一段,有没有办法,我正在尝试app.activeDocument.textFrames[0].parages.length并返回“0”,只有parentStory.parages.length返回段落,但我不知道文本框中的第一个段落,有什么帮助吗?文本框的内容将包含段落。您应该能够使用Story的textContainers属性来获取每个故事的TextFrame var frames = story.textContai

我有一本书,每页都有文本框,它们都是线程连接在一起的,我想抓住每个文本框的第一段,有没有办法,我正在尝试
app.activeDocument.textFrames[0].parages.length
并返回“0”,只有
parentStory.parages.length
返回段落,但我不知道文本框中的第一个段落,有什么帮助吗?

文本框的内容将包含段落。

您应该能够使用
Story
textContainers
属性来获取每个故事的
TextFrame

var frames = story.textContainers; // Where `story` is your story
for (var i=0; i<frames.length; i++) {
   var frame = frames[i];

   if (!frame.characters.length) continue; // Skip text frames without characters

   var para = frame.paragraphs[0];

   if (para.parentTextFrames.length > 1) {
      para = frame.paragraphs[1];
   }

   // Do work with `para` object
}
var frames=story.textContainers;//你的故事在哪里
对于(变量i=0;i 1){
第[1]款;
}
//不要使用'para'对象
}

作为旁注:如果OPs文档以某种方式设置为以新段落开始每个文本框,则这将起作用。如果它是从前一帧开始的段落的某些文本开始的,那么这就是“第一段”,即使它在一帧的底部。@Jongware有一点,我的段落可能是从前一帧开始的,你知道我如何检查段落是从文本帧开始的,还是从页面开始的(我的文本帧占据了整个页面),我将循环阅读故事中的每一段,如果我理解正确,你应该能够跳过没有角色的文本框架。这应该可以防止从上一帧抓取段落。此外,如果第一个文本框有多个父项,则可以选择下一个段落,该段落应为第一个段落(如果存在)。你怎么认为?我更新了这个例子。不幸的是,这既正确又不正确——而且可能不是OP想要的。True:textframe的
contents
属性提供对其段落的访问;但是,它通过将文本转换为与Javascript兼容的字符串来实现。通过这种方式,您无法操作InDesign的原生文本对象(这是可能的,但会忽略所有格式)。由于OP没有详细说明应该如何处理文本,这可能仍然有效——但总的来说,这不是一个好主意。(另外,您没有提供可用的代码片段…)