2

始める前に少し背景を説明します。私は決して 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に取り組んでいます

4

1 に答える 1

3

要素にアクセスしているときはallPageItemsStoryそのストーリー内に固定されているすべてのページ項目にアクセスしていますが、これはあなたが望んでいるものではないと思います.

プロパティにアクセスすると、が含まれていないallPageItemsため、0 の結果が得られます。要素は not に含まれています。私はそれが混乱していることを知っています!StorytextFramesStorytextContainerstextFrames

ストーリーが特定のページにあるかどうかを判断したい場合は、textContainers'parentPageプロパティにアクセスできます。

AStoryは複数の を流れますtextContainers。例えば:

                  link                         link
TextContainer      -->      TextContainer2      -->      TextContainer3
|_____________________________________________________________________|
                                   |
                                 Story

Aには、、などStoryを含めることもできます。例:textFramesrectangleswords

                                 Story
___________________________________|__________________________________
|                                                                     |
Word  -->  Word2  -->  TextFrame  -->   Word3  -->   Word4  -->   Word5
于 2013-04-12T13:35:31.583 に答える