PageItemの追加は、対象になるスプレッド・ページに対してadd関数を使います。PageItemの種類が違っても引数の扱いは同じです。

rectangleオブジェクトを作成する場合は、以下のようになります。無視して飛ばす引数にはundefinedを渡しておきます。

var layerObj= app.activeDocument.layers.lastItem(); //一番下にあるレイヤー
var obj= app.activeWindow.activePage.rectangles.add(
    layerObj, LocationOptions.AT_END, undefined, { visibleBounds:[20,20,70,70] });

 

引数は以下のようになっています。

  • 第1引数 オブジェクトを追加したいレイヤー
  • 第2引数 追加位置
  • 第3引数 追加位置の基準となるオブジェクト
  • 第4引数 プロパティ

 

第1引数にはオブジェクトを追加したいlayerオブジェクトを渡します。無視した場合は最上面のレイヤーに作成されます。

 

第2引数には作成するオブジェクトの追加位置をLocationOptions定数で指定します。これによって、明示的に既存オブジェクトの前面か背面に作成することができます。無視した場合は最前面に作成されます。

 

第3引数は第2引数と組み合わせて使います。第3引数に基準となるオブジェクトを指定すると、第2引数に指定されたオブジェクトの前面、または背面に作成することができます。以下の例は、選択されているオブジェクトの背面(最背面ではない)に新規オブジェクトを作成します。

var selObj= app.selection[0];
var obj= app.activeWindow.activePage.rectangles.add(
    undefined, LocationOptions.AFTER, selObj, { visibleBounds:[20,20,70,70] });

 

第4引数には作成するオブジェクトに必要なプロパティを設定します。先の例ではvisibleBounds(見た目の大きさ)を設定しています。なお、カンマ区切りで複数のプロパティを設定できますが、数が多い場合はあらかじめプロパティを変数でまとめたほうがコードが読みやすくなります。

var prop= {
    visibleBounds: [20,20,70,70],
    fillColor: app.activeDocument.swatches.itemByName('Paper'),
    strokeColor: app.activeDocument.swatches.itemByName('Black'),
    strokeWeight: '0.5mm'
}
var obj= app.activeWindow.activePage.rectangles.add(
    undefined, undefined, undefined, prop);

 

rectangle以外のオブジェクトの作成は、以下のリンクを参照。

 

また、グラフィックフレームへ画像を読み込む方法は、以下のリンクを参照。

 

 

Joomla templates by a4joomla