5

Indesign Server (CS3) で使用する Javascript スクリプトを作成しています。

ドキュメント内のすべてのテキストエリアを見つけて、それらの内容を見つけようとしています。

Adobe が提供する機能を使用して、すべてのテキストエリアを簡単にループできます。

ただし、TextArea のコンテンツを取得しようとすると、出力ポートのテキストではなく、そのテキストエリア内に表示されるコンテンツのみが取得されます。

document.TextAreas[0].contents

つまり、Indesign ドキュメントに小さなプラス記号が付いたテキスト領域が含まれていて、それよりも多くのテキストがあることを示していますが、それが収まらなかった場合、スクリプトは非表示のテキストを返しません。

というか、別の言い方をすれば。「テキストエリア」の「オーバーフロー」プロパティが false の場合、コンテンツ全体を取得できますか?

完全なコード:

function FindAllTextBoxes(){
        var alertMessage;
        for (var myCounter = myDoc.textFrames.length-1; myCounter >= 0; myCounter--) {
        var myTextFrame = myDoc.textFrames[myCounter];
            alertMessage += "\nTextbox  content: " + myTextFrame.contents;
            alertMessage += "\nOverflow:" + myTextFrame.overflows;
            alert(alertMessage);
        }
}

Textarea の全コンテンツを読むにはどうすればよいですか?

4

1 に答える 1

3

少し遅れましたが、これに出くわしました。これは InDesign CS5 でテストされています。次の行は、オーバーフローしたすべてのテキストを a から取得しますTextFrame

var content = myTextFrame.parentStory.contents;

お役に立てれば!

于 2012-07-03T14:58:24.707 に答える