« ■ブックガイド&プレゼント/「組版時間を半減する! InDesign自動処理実例集」技術評論社刊 | index | ■KNNエンパワーメントコラム 1人10万2000円の定額給付案/神田敏晶 »

■クリエイター手抜きプロジェクト[187]InDesign CS3編 InDesign CS3でFTP、HTTP通信を行う(2)/古籏一浩

with Ajax Amazon
今回は、もっとも多く利用されているHTTPによる通信について説明します。HTTPはWebサイトを閲覧する場合に利用されています。Webブラウザでページを見る際に使われているものです。InDesign CS3は、HTTPだけでなくHTTPSにも対応しています(セキュアな環境での動作は確認していません)。

InDesign CS3のHTTP機能を使う前に、以下の行を記述しておかないとエラーとなり動作しません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 印刷通販 PR ━
チラシ印刷ポスター印刷新聞折込チラシカタログ印刷冊子印刷
ポストカード印刷巻き三つ折り観音折りなどに対応した印刷サービス
印刷会社はこちらから↓↓↓ 選挙ポスター印刷もあります。
http://www.ddc.co.jp/index.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 印刷通販 PR ━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

-----------------------
if ( !ExternalObject.webaccesslib ) {
ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}
-----------------------

これは最初に一度だけ実行すればよく、毎回チェックする必要はありません。このようなチェック方法は古いJavaScript Tools Guide.pdfでは、以下のように記載されています。この方法でも動作しますが、FTP接続時のファイルリスト処理などでエラーになることがありますので、上記の短い書き方をする方が安全です。また、InDesign CS3は、なるべく最新の状態にアップデートしておくようにしてください。上記の場合、バージョン5.0.2以降での動作を確認しています。


if( webaccesslib == undefined ) {
if( Folder.fs == "Windows" ) {
var pathToLib = Folder.startup.fsName + "/webaccesslib.dll";
} else {
var pathToLib = Folder.startup.fsName + "/webaccesslib.bundle";
}
var libfile = new File( pathToLib );
var webaccesslib = new ExternalObject("lib:" + pathToLib );
}


それではHTTPによる通信を行ってみます。これはInternet ExplorerやFirefox、Safariなどのブラウザが行っていることを、InDesignのJavaScriptで記述することになります。といっても難しくなく、実質4行で終わりです。

まず、new HttpConnection()のパラメータに取得したいファイルのURLを指定します。例えば、Yahoo JAPANのトップページのHTMLファイルを取得する場合には以下のように書きます。

http = new HttpConnection("http://www.yahoo.co.jp/index.html");

ただし、これだけでは通信も行われず読み込まれたデータもファイルも作成されません。InDesign CS3に用意されているHTTP機能は、ローカルディスクのどこかに読み込んだデータを保存する必要があります。
これはhttp.responseプロパティに保存先のファイルオブジェクトを指定します。例えば、ホームフォルダにtemp.htmlという名前で保存する場合は、以下のように書きます。

http.response = new File("%7E/temp.html");

これで保存先が指定されたので、以下のようにサーバーにリクエストを発行します。

http.execute();

環境によっては、ここでエラーとなってしまう場合があります。エラーとなってしまった場合には、一度マシンを再起動させてから試してみてください。また、会社内でのネットワーク環境によってはアクセスできないサイトなどがあるため、どうしても分からない場合にはネットワークの担当者に確認するようにしてください。無事に処理されると、指定された場所にファイルが保存されます。最後に、以下のように書いてサーバーとの通信処理を終了させます。

http.response.close();

これで完了です。以下のサンプルは、Yahoo JAPANのトップページのHTMLファイルを読み込んでInDesign上に配置します。

●サンプル

// サーバー上にあるHTMLファイルを読み込み配置する
(function (){
var tfObj = app.activeDocument.textFrames.add();
tfObj.visibleBounds = ["2cm", "3cm", "10cm", "14cm"];
var fileObj = getHttpData("http://www.yahoo.co.jp/index.html", "%7E/temp.html");
var flag = fileObj.open("r");
if(flag == true){
var text = fileObj.read(); // ファイル内容を全て読み込む
tfObj.contents = text;
fileObj.remove(); // 一時的に作成したファイルを削除する
}
})();
// HTTPを使って指定されたサーバーのデータを読み込みファイルオブジェクトを返す
function getHttpData(sURL, filePath){
if ( !ExternalObject.webaccesslib ) {
ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}
var http = new HttpConnection(sURL);
http.response = new File(filePath);
http.execute();
http.response.close();
return new File(filePath);
}

fileObj.close()がないのは手抜きですが、なくても自動的にやってくれます。


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

組版時間を半減する! InDesign自動処理実例集◇やっと出ました!「組版時間を半減する! InDesign自動処理実例集」
InDesign CS2/CS3を、JavaScriptを使って自動化しようという内容の本です。こういうスクリプトを使って自動化する書籍は、なかなか出せないので、無事に出版できただけでも非常に幸運でした。Illustrator 10自動化作戦の次か、その次あたりに出るはずだったのですが、都合により企画がなくなってしまったのです。出版していただいた技術評論社の金田冨士男さんと、非常に多くの部分で協力していただいた(株)シータスの古尾谷眞人さんには非常に感謝しています。
< http://www.amazon.co.jp/dp/4774136875/dgcr-22 >

◇キヤノンEOS 5D Mark IIでのHD映像
キヤノンEOS 5D Mark IIを無事に購入できたので、早速映像だけ撮影してきました。でも、使い方というか設定がよくわからないまま撮影したので、そこらへんはご勘弁下さい。画面半分に細かい画像があり上半分が青空だと、青空がブロックになってしまうようですが、それ以外の場合は非常に良好な結果になっていると思います。
実際のサンプルは以下のページに用意してあります。再生にはQuickTimeが必要です。コーデックはH264になっています。
< http://www.openspc2.org/HDTV/CANON/EOS5DmarkII/index.html >

◇iPhoneゲーム自作工房 宣伝し忘れてました……。
iPhoneゲーム自作工房11──航空写真を背景に、ズバズバ撃ちまくるゲームを作成
< http://journal.mycom.co.jp/articles/2008/10/31/iPhonegame10/ >

◇この連載もよろしくです。「29分でできる! あのサイトの“技”を盗め」
第11回:すぐ使える! なめらかアコーディオンで“魅せる”UIに
< http://ascii.jp/elem/000/000/191/191984/ >

◇YouTubeでハイビジョン
YouTubeがハイビジョンサイズに対応したみたいなので、昔懐かしいゲームセンターのゲームをプレイした画面を、ハイビジョンカメラで収録しアップしました。久々にプレイしたら、腕がなまっていてクリアできませんでした……。特にダライアスはボロボロです……。
ナムコのゼビウスのエリア1(ハイビジョンサイズ対応版)
< http://jp.youtube.com/watch?v=l-U-cup5X98&fmt=22 >

photo
組版時間を半減する! InDesign自動処理実例集
(株)シータス
技術評論社 2008-11-25

1ランク上の技を身につけるInDesignの強化書 [+DESIGNING Professional Bible] (マイコミムック) (MYCOMムック +DESIGNING Professional Bi)

by G-Tools , 2008/12/01

最近の関連エントリー

トラックバック

このエントリーのトラックバックURL:

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

back number

Trackbacks

デジクリにSwift 3D V5が紹介されました。... (ストーム君日記 2009年1月23日)

デジクリにSwift 3D V5が紹介されました。... (ストーム君日記 2009年6月19日)

うらうつり... (area-Bログ 2009年2月10日)

[DTP][印刷]「裏抜け」と「プリントスルー」... (DTP+印刷営業メモ 2009年2月11日)

「右」と「左」って何だろう〜... (映画とマーケティング日誌 2009年2月 5日)

デジクリ出演... (tech tech okdt 2008年12月15日)

来月は12月だし... (area-Bログ 2008年11月10日)

広告を変えるレスポンスCM動画... (福岡デザイン日記 2008年10月 1日)

専門用語には必ず「読みがな」を付けてほしい... (M.C.P.C. 2008年7月22日)

T-Time... (あさりの楽天倉庫 2008年7月 3日)

[社会]人と関わること... (DTP+印刷営業メモ 2008年6月18日)

新しいiMacのレビュー記事... (Mein zweiter Blog 2008年6月 3日)

DTP Booster 009(Tokyo/100119)(2010年1月19日、アップルストア銀座で開催)

categories

XML FEED
Powered by
Movable Type 4.261