使用 Indesign CS5.5,我收集了大量组 - 所有组都带有图像和文本框架。文本框默认有 3 段。
我需要从每个文本框架的第一段中获取文本。
到目前为止我有这个:
var textboxes = app.activeDocument.groups.everyItem().textFrames;
for (i = 0; i <= textboxes.length; i++) {
if(textboxes[i] != 'undefined') {
var product = textboxes[i].contents;
$.writeln(product);
}
}
这给了我所有的文本......我真的需要只获取第一段或按字体大小以某种方式过滤它。
我尝试使用textboxes[i].paragraphs[0]
,但这会返回相当模糊的Object Invalid
。它可能是一个特定的群体,但对我来说太模糊了。
如果对象无效,是否有办法跳过并继续。是否有一种方法可以只查找具有特定字体大小的文本?
任何帮助将不胜感激。我发现 Indesign 的脚本 API 文档相当糟糕。
最佳答案
建议使用:
var m1stParas = app.activeDocument.groups.everyItem().textFrames.everyItem().paragraphs[0];
它应该返回一个段落数组(每个元素是每个组中每个 TF 的第一个段落)
因此您将拥有一组文本对象。每个object.contents
都是一个字符串。
如果出现“无效对象”错误 - 您的文档在某些组中是否可能存在空文本框架?
贾雷克
关于javascript - Indesign脚本: Get first paragraph in textframe in each group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091349/