我有一个包含 10 页的 inDesign 文档,里面填满了文本。文本使用不同的段落样式设置样式,其中一些与构建自定义目录有关。
有两种相关的段落样式,“Header1”和“Header2”,我试图从中构建自己的目录,我想将其导出到文本文件中。
我需要获取的相关信息是带有“Header1”和“Header2”样式的文本以及相应的页码。
我试图通过 GREP 来实现这一点并且成功了一半,但是 GREP 扫描整个文档而不是逐页扫描。
有没有办法按段落样式逐页浏览所有样式文本?
提前致谢!
我有一个包含 10 页的 inDesign 文档,里面填满了文本。文本使用不同的段落样式设置样式,其中一些与构建自定义目录有关。
有两种相关的段落样式,“Header1”和“Header2”,我试图从中构建自己的目录,我想将其导出到文本文件中。
我需要获取的相关信息是带有“Header1”和“Header2”样式的文本以及相应的页码。
我试图通过 GREP 来实现这一点并且成功了一半,但是 GREP 扫描整个文档而不是逐页扫描。
有没有办法按段落样式逐页浏览所有样式文本?
提前致谢!
如果您不想使用 GREP,则可以遍历故事的每个段落,以收集应用了特定样式的段落。
在下面的示例代码中,我收集了para_with_style
变量中的段落:
var doc = app.activeDocument;
var story = doc.stories[0];
// Get every paragraph in `story` (using `everyItem().getElements()` is more efficient)
var paras = story.paragraphs.everyItem().getElements();
// Collect every paragraph with a certain paragraph style
var applied_style = doc.paragraphStyles.itemByName('style-name');
var paras_with_style = [];
for (var i=0,l=paras.length; i<l; i++) {
var para = paras[i];
if (para.appliedParagraphStyle == applied_style) {
paras_with_style.push(para);
}
}
// Do something with each `para` in `paras_with_style`
是的。
查看 InDesign API 的对象模型。
您有 Pages 类,因此使用方法 length 遍历所有 Pages
然后,在这个循环中,为每个页面获取所有 TextFrame
对于每个 textFrame 使用 Class Paragraph 来迭代每个 TextFrame
在每个段落中,获取您想要的属性。