PageItemの分布はDocumentオブジェクトのdistribute関数を使います。引数は以下の通りです。

  • 第1引数 分布したいオブジェクトの配列
  • 第2引数 分布する方向(DistributeOptions定数
  • 第3引数 分布する範囲(AlignDistributeBounds定数
  • 第4引数 間隔を指定するか否か(true/false)
  • 第5引数 間隔(数値・単位付き文字列)

 

以下の例は現在のページにあるPageItemのうち、塗りが黒のものだけページの左から5mmの等間隔で分布するするというものです。

var objList=[]; //対象オブジェクト収納用
var pgItems= app.activeWindow.activePage.allPageItems;
for (var i=0; i<pgItems.length; i++) {
    if (pgItems[i].fillColor.name=='Black') {
        objList.push( pgItems[i] ); //配列に追加
    }
}
//水平方向に等間隔&ページに揃える
app.activeDocument.distribute(
    objList,
    DistributeOptions.HORIZONTAL_SPACE,
    AlignDistributeBounds.PAGE_BOUNDS,
    true,
    '5mm'
);

 

 

Joomla templates by a4joomla