2

テキストで満たされた 10 ページの inDesign ドキュメントがあります。テキストはさまざまな段落スタイルでスタイル設定されており、そのうちのいくつかはカスタムの目次の作成に関連しています。

関連する 2 つの段落スタイル、"Header1" と "Header2" があり、そこからテキスト ファイルにエクスポートしたい独自の目次を作成しようとしています。

取得する必要がある関連情報は、"Header1" と "Header2" および対応するページ番号でスタイル設定されたテキストです。

私は GREP を介してこれを達成しようとしましたが、半分は成功しましたが、GREP はページごとではなくドキュメント全体をスキャンします。

段落スタイルですべてのスタイル付きテキストをページごとに確認する方法はありますか?

前もって感謝します!

4

2 に答える 2

2

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`
于 2012-10-18T14:19:07.160 に答える
1

はい。

InDesignAPIのオブジェクトモデルを見てみましょう。

あなたはクラスPagesを持っているので、メソッドの長さを使用してすべてのページを反復処理します

次に、このループ内で、ページごとにすべてのTextFrameを取得します

textFrameごとに、クラス段落を使用して各TextFrameを反復処理します

各段落内で、必要な属性を取得します。

于 2012-10-17T22:09:04.820 に答える