开始之前的一些背景知识:我绝不是 InDesign 专家,但我的任务是从我们公司的 InDesign 文件中提取一些文本信息来进行一些分析。我正在使用的每个 InDesign 文件都有多个页面,并且每个页面都使用母版页中的故事(如果我使用了错误的术语,请原谅我,我对 InDesign 对象模型的理解有限) . 使用默认的导出所有文本脚本作为起点,我能够扩展该功能以转储其他有用的信息;比如几何边界。我在下面发布了一些代码:
myFileName = "StoryID" + myID + myExtension;
myFilePath = myFolder + "/" + myFileName;
myFile = new File(myFilePath);
myFile.encoding='text';
myFile.open('w');
containers = myStory.textContainers;
if (containers[0].overridden) {
for (i = 0; i < myStory.words.length; i++) {
myFile.write(myStory.words[i].contents);
myFile.write(" ");
}
myFile.write("\n");
}
else {
myFile.write(myStory.contents + '\n');
}
var geometry = containers[0].geometricBounds
myFile.write("++" + containers[0].parent.name + '\n');
myFile.write("$$" + geometry[0] + "\t" + geometry[1] + "\t" + geometry[2] + "\t" + geometry[3] + "\n");
pageitems = myStory.allPageItems;
for (j = 0; j < pageitems.length; j++){
myFile.write("--" + pageitems[0]);
}
myFile.close();
我的问题是,我如何确定一个故事出现的所有页面?例如,假设我有 4 个页面:{Master, Region 1, Region 2, Region 3}。区域 1 - 3 都从 Master 继承了一个故事块。当我运行这个脚本时,我只得到一个 Story 块的实例,即属于 Master 的实例。但是,我很想知道有问题的故事块属于所有 4 页。我尝试访问 allPageItems 属性,但我一直得到 0 个结果。
任何帮助,将不胜感激。如果有帮助,我正在开发 InDesign CS 6