InDesign CS5自動化作戦 (InDesign CS5 Automation Operation)

画像を指定位置に移動する

■プログラム説明(ソースコード説明)
 Macintosh HDボリュームにあるimgフォルダ内の0001.jpg画像を読み込み指定された位置に表示します。画像を表示するには表示するためのフレームをtextFrames.add()で作成します。作成したフレームに画像を表示するのを明示するためcontentTypeにContentType.graphicTypeを設定します。あとは表示したい画像のファイルパスをplace()で指定します。次にfit()を使って枠を画像に合わせます。画像を移動させるにはmove()を使います。最初のパラメータが、移動方法で"to"を指定すると絶対的なページの位置に、"by"を指定すると現在の位置から相対的に移動となります。2番目のパラメータは移動先を示しますが、ここではページ上の座標を指定するため[X位置,Y位置]としています。座標は単位付きで指定することができます。単位がない場合には現在設定されているドキュメントのデフォルトの単位が使われます。

■ソースコード
docObj = app.activeDocument;
imgObj = docObj.textFrames.add();
imgObj.contentType = ContentType.graphicType;
imgObj.place("Macintosh HD:img:0001.jpg");
imgObj.fit(FitOptions.frameToContent);
imgObj.move("to",["5cm","10cm"]);


■使い方
1:スクリプトを実行します。
2:Macintosh HDボリュームにあるimgフォルダ内の0001.jpg画像が読み込まれ横方向に5cm、縦方向に10cmの位置に画像が表示されます。


■ポイント
 相対的に移動させる場合は以下のようになります。

docObj = app.activeDocument;
imgObj = docObj.textFrames.add();
imgObj.contentType = ContentType.graphicType;
imgObj.place("Macintosh HD:img:0001.jpg");
imgObj.fit(FitOptions.frameToContent);
imgObj.move("by",["2cm","1cm"]);

■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA