スポンサーサイト

Tags :
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

イラレで画像を並べて配置するAppleScript

色補正の終わった画像なんかをイラレに適当に貼り込んで、DDCPや大判インクジェットで出力してバラ校チェックをする事がよくあるんですが、そんな時に使えるイラレ用AppleScript。

ドロップレットとして保存したスクリプトに、配置したい画像をまとめてドラッグ&ドロップするとイラレのドキュメントが作成され画像を並べて配置していき、ついでにファイル名と変更日時も表示します。



端まで行ったら折り返して次の列に配置していきますが、インテリジェンスな事はやってないので位置決めは大雑把です。ドキュメントからはみ出してもお構いなし。
実際の仕事だと1枚に思いっきり詰め込むと思うので、後で並べ直し易いように画像とファイル名はグループ化してあります。



デフォルトのサイズは某社のDDCP用になってます。あと、画像以外のものをドロップするとエラーで止まります。

■動作確認
MacOS X 10.3.9
Illustrator CS2
--------Illustratorのドキュメントサイズを設定(pointで指定)
property docWidth : 1870
property docHeight : 1470

--------画像間の空白(pointで指定)
property spaceX : 25
property spaceY : 30

on open drop
   tell application "Adobe Illustrator"
      activate
      make document with properties {width:docWidth, height:docHeight, ruler origin:{0, 0}}
      set thisDoc to current document
      
      --------テキストのスタイルを設定※auto leading をfalseにしないと行間を設定できない
      set styleRef to make new character style in thisDoc with properties {name:"style1", size:9, auto leading:false, leading:13}
      
      --------マージンを付けてスタート(左上から)
      set locateX to docWidth * 0.05
      set locateY to docHeight * 0.95
      set stepWidth to 0
      set stepHeight to 0
      
      repeat with theFile in drop
         
         tell application "Finder"
            set myPath to theFile as alias
            set fileInfo to (name of myPath as string) & return & modification date of myPath
         end tell
         
         --------文字と画像を配置してグループ化
         set groupRef to make new group item in thisDoc
         set textFrameRef to make new text frame at beginning of groupRef with properties {contents:fileInfo, position:{locateX, locateY + 28}}
         apply character style styleRef to text range of textFrameRef
         set imageRef to make new placed item at end of groupRef with properties {file path:myPath, position:{locateX, locateY}}
         
         set stepWidth to width of textFrameRef
         if width of imageRef > width of textFrameRef then
            set stepWidth to width of imageRef
         end if
         set curHeight to height of imageRef
         if curHeight > stepHeight then
            set stepHeight to curHeight
         end if
         set locateX to locateX + stepWidth + spaceX
         if locateX > docWidth * 0.9 then --------配置画像の原点がドキュメント幅の90%を超えたら折り返し
            set locateX to docWidth * 0.05
            set locateY to locateY - (stepHeight + spaceY)
            set stepHeight to 0
         end if
      end repeat
   end tell
end open
関連記事
スポンサーサイト

コメント

非公開コメント

はじめまして

配置する画像のサイズを指定したいのですが、
何処になんと記述すればよいでしょうか?

No title

> bigmamaさま。

はじめまして。
コメントありがとうございます。最近このブログも放置気味ですので恐縮です。

古いエントリーですので、自分で書いておきながらよく覚えていないのですが、スクリプトを見る限り、リサイズ等せずにそのまま配置しているようですね。

手元に確認できる環境がないため、合っているかどうか怪しいですが、わかる範囲でお答えします。


35行目の
set imageRef to make new placed item at end of groupRef with properties {file path:myPath, position:{locateX, locateY}}
のところでnew placed itemとして画像を追加しています。

その行の後半、with properties {.....}
のカッコの中で画像の情報を記述していますので、

{file path:myPath, position:{locateX, locateY}, width:W, height:H}
のように幅をWと高さをHとして記述できると思います。

単位はデフォルトではポイントになっていると思いますが、Illustratorの設定に影響を受けるかもしれません。


以下のURLでスクリプトの例が公開されていますので、参考になさってください。
http://www.ne.jp/asahi/tan/puku/note/ASIllustrator/#20040316021198094

ありがとうございます!

すぐにご返信頂いていたのに、
ご連絡が遅れて申し訳ございません!

早速やってみました!
そこで、指定したサイズに画像を配置することができたのですが、
widthとheightの数値を両方指定してしまうと、画像に変倍がかかってしまうため、
例えば画像の比率を維持したままwidth:100ptにして、heightは成り行きで、といった処理をしたいときは、
どのようにすればよいでしょうか?

参考URLを拝見させて頂いたのですが、
当方あまり詳しくなく、わかりませんでした…。

わかる範囲で、可能でしたら、ご教授頂ければ幸いです。
よろしくお願いいたします。

Re: ありがとうございます!

ちゃんと動くかどうかあやしいのですが、ちょっと考えてみました。

スクリプトの35行目( set imageRef to make new placed item at…)の下に

set img_w to width of imageRef
set img_h to height of imageRef
set percent to YOUR_WIDTH / img_w
set properties of imageRef to {height:img_h * percent, width:img_w * percent}

の4行を追加してみてください。
追加する3行目の YOUR_WIDTH のところを希望する幅の数値(ポイント)に変更してください。

ひょっとするとエラーが出るかもしれませんが…

できました!!

イメージ通りにできました!!
最高です!
ご丁寧な対応、ありがとうございました。
Profile
choco
Author : choco

印刷・製版の現場を経て、広告制作会社でPhotoshopを使ったビジュアル制作を担当。

→現在は車載機器開発ベンダにて、組み込み3Dデータ作成やUIデザインなどを行っています。

Categories
Favorites


Search
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。