それでは次にInDesign CSで画像を表示してみましょう(MacOS Xの場合で説明しています)。まず、ハードディスクの名前(ボリューム名)を確認してください。ここではMacintosh HDというハードディスクの名前にしています。このハードディスク内にimgフォルダを作成し、その中に0001.jpgという名前のJPEG画像を入れておいてください。
準備ができたら以下のプログラムを入力し実行してみてください。
pageObj = app.documents.add();
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","1cm","4cm","4cm"];
txtObj.contentType = ContentType.graphicType;
txtObj.place("Macintosh HD:img:0001.jpg");
自動的に新規にドキュメントが作成され0001.jpg画像が表示されます。もし、ハードディスクの名前がMacHDであれば一番最後の行を以下のように修正します。
txtObj.place("MacHD:img:0001.jpg");
ボリューム名に日本語を使っていて濁点などが入っている場合には動作しません。ボリューム名には日本語を使わずに英語のみで特殊記号も使わないようにしてください。また、ボリューム名に限らずフォルダ名には日本語は避けてください。どうしても使用しないといけない場合には濁点などは使わないでください。これはMacOS X版のInDesign CSでは内部のUnicode処理の都合によるものです。(これはAcrobatでも発生します)
ボリューム名とフォルダ名は:(コロン)で区切って指定します。MacOS Xでは:がフォルダの区切り記号になっています。このように指定することで任意の場所にある画像をドキュメント上に貼付けることができます。
画像は貼付けることができましたが、フレームと画像のサイズが一致していないため不自然です。そこでフレームを画像のサイズに合わせるようにしましょう。これは以下のスクリプトになります。
pageObj = app.documents.add();
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","1cm","4cm","4cm"];
txtObj.contentType = ContentType.graphicType;
txtObj.place("Macintosh HD:img:0001.jpg");
txtObj.fit(FitOptions.frameToContent);
追加されたのは一番最後の行です。fit()によって、どのようにフレームを合わせるかを指定します。もちろんフレームに画像を合わせることもできます。fit()は以下の指定が可能です。
内容を中央に合わせる FitOptions.centerContent
フレームを内容に合わせる FitOptions.frameToContent
内容をフレーム内に収める FitOptions.proportionally
内容をフレームに合わせる FitOptions.contentToFrame
これで画像を配置することができるようになりました。文字と画像を自由に配置、設定できれば自動化への第一歩です。あとは、必要に応じて必要なパラメータなどを設定していけばよいでしょう。