始める前に少し背景を説明します。私は決して InDesign の専門家ではありませんが、会社の InDesign ファイルからテキスト情報を引き出して少し分析を行う仕事を任されています。私が作業している各 InDesign ファイルには複数のページがあり、それらの各ページはマスター ページのストーリーを使用しています (間違った用語を使用している場合はご容赦ください。私は InDesign オブジェクト モデルの限定的な理解に取り組んでいます)。 . デフォルトの Export All Text スクリプトを出発点として使用して、その機能を拡張し、他の有用な情報をダンプすることができました。幾何学的境界など。以下のコードの一部を投稿しました。
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();
私が持っている質問は、ストーリーが表示されるすべてのページをどのように判断するのですか? たとえば、{Master, Region 1, Region 2, Region 3} の 4 つのページがあるとします。リージョン 1 ~ 3 はすべてマスターからストーリー ブロックを継承します。このスクリプトを実行すると、Master に属する Story ブロックのインスタンスが 1 つだけ取得されます。ただし、問題の Story ブロックが 4 ページすべてに属していることを知りたいと思います。allPageItems プロパティにアクセスしようとしましたが、結果が 0 のままです。
どんな助けでも大歓迎です。それが役立つ場合、私はInDesign CS 6に取り組んでいます