クリエイター手抜きプロジェクト[284]Adobe InDesign CS3/CS4/CS5編 Bridgeで選択したファイルをInDesignに配置する
── 古籏一浩 ──

投稿:  著者:


Adobe Bridgeのウィンドウで選択した画像ファイルを、自動的にInDesignに配置するスクリプトです。なお、スクリプトはBridgeやInDesignから実行するのではなく、ESTK上から実行してください。実行する際のターゲットアプリケーション名はBridgeになります。

以下のスクリプトは、Bridge CS3のウィンドウで選択された画像ファイルをInDesign CS3に配置するものです。実行する前に、あらかじめ画像やテキストファイルを貼り付けるドキュメントを用意しておく必要があります。貼り付けられる画像は、現在開かれているInDesignの最前面のウィンドウの開いているページ(アクティブページ)になります。




var fileList = app.document.selections;
for(var i=0; i<fileList.length; i++){
myBTalk(fileList[i].path);
}

function myBTalk(filename){
var scriptcode = 'var fPath = "'+filename+'";';
scriptcode += 'var imgObj = app.layoutWindows[0].activePage.textFrames.add();';
scriptcode += 'imgObj.contentType = ContentType.graphicType;';
scriptcode += 'imgObj.place(new File(fPath));';
scriptcode += 'imgObj.fit(FitOptions.frameToContent);';
//$.writeln(scriptcode);
var btObj = new BridgeTalk;
btObj.body = scriptcode;
btObj.target = "indesign-5";
btObj.send();
}


特定の拡張子を持つファイルだけを貼り付けたい場合には、以下のようにします。最初の1行の拡張子を変更、追加することで任意の拡張子を持つ画像ファイルを配置することができます。


var ext = [".jpg", ".png", ".gif"]; // 拡張子
var fileList = app.document.selections;
for(var i=0; i<fileList.length; i++){
for(var j=0; j<ext.length; j++){
if (fileList[i].path.indexOf(ext[j]) > -1){
myBTalk(fileList[i].path);
}
}
}

function myBTalk(filename){
var scriptcode = 'var fPath = "'+filename+'";';
scriptcode += 'var imgObj = app.layoutWindows[0].activePage.textFrames.add();';
scriptcode += 'imgObj.contentType = ContentType.graphicType;';
scriptcode += 'imgObj.place(new File(fPath));';
scriptcode += 'imgObj.fit(FitOptions.frameToContent);';
//$.writeln(scriptcode);
var btObj = new BridgeTalk;
btObj.body = scriptcode;
btObj.target = "indesign-5";
btObj.send();
}


InDesign CS3でなくCS4で実行する場合は以下のようにしてください。

btObj.target = "indesign-6";

InDesign CS5の場合は以下のように変更してください。

btObj.target = "indesign-7";

InDesign CS5.5は持っていないので、動作確認していません。
多分btObj.target = "indesign-8";
と指定すれば動くのではないかと思います。


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/
>

とりあえず2台あるMac ProにLionとLion Server入れてみました。Spacesのかわりに登場したMission Control。新しく仮想デスクトップ作成する方法が、あれでは分からない。最初からボタンは表示しておいてもらわないと......。

アナログTVだったので停波。長野県でも近くの筑北村は、村がアナログ波を送信するみたいで、チューナーとかいらない様子。見る側はアナログでも不便じゃないんだけど。逆にデジタルにすると不便なのでアナログでお願いしたいところ。

で、結局デジタルからアナログに変換するチューナーを取り付けました。アナログ時代よりもきれいに映る。ということは、無理して地デジTVとか買わなくても問題ないみたい。ただ信号入力がL1になってしまったので、アナログのHDDレコーダーも録画する番組を厳選せねば。で、厳選したら続きが気になる3番組だけだった。テレビ番組がこんなにも不要になっていたとは......。

・Mac OS X Lion使い方辞典
< http://www.openspc2.org/reibun/MacOSX/Lion/
>

・毎度おなじみASCII.jpの連載。HTML5+NimbleKitでiPhoneアプリ作り第7回
「NimbleKitでiPhone用動画アプリを自作しよう」
< http://ascii.jp/elem/000/000/616/616065/
>

・Google API Expertが解説する HTML5逆引きリファレンス【発売中!!】
< http://www.amazon.co.jp/dp/4844330349
>

・iPhone/iPad × HTML5アプリ制作
< http://www.amazon.co.jp/dp/4797362618
>

・ハイビジョン映像素材集【こつこつ追加してます】
< http://www.openspc2.org/HDTV/
>

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>