Adobe Illustrator CC 2014が発売されました。今回は、CCから変更追加されたJavaScript部分について書いてみます。ちょっとプログラマ向けっぽい内容です。
まず、開発のために必要なガイドとリファレンスは、以下のページからダウンロードすることができます。どちらもPDFです。
・Adobe Illustrator CC 2014 JavaScript Reference
< http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/illustrator/sdk/CC2014/Illustrator%20Scripting%20Reference%20-%20JavaScript.pdf
>
・Scripting Guide(スクリプティングガイド)
< http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/illustrator/sdk/CC2014/Illustrator%20Scripting%20Guide.pdf
>
まず、開発のために必要なガイドとリファレンスは、以下のページからダウンロードすることができます。どちらもPDFです。
・Adobe Illustrator CC 2014 JavaScript Reference
< http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/illustrator/sdk/CC2014/Illustrator%20Scripting%20Reference%20-%20JavaScript.pdf
>
・Scripting Guide(スクリプティングガイド)
< http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/illustrator/sdk/CC2014/Illustrator%20Scripting%20Guide.pdf
>
・追加された定数
【書き出し】
AutoCADCompatibility.AutoCADRelease21
AutoCADCompatibility.AutoCADRelease24
【過去のバージョン保存】
Compatibility.Illustrator17
【ドキュメントのレイアウトタイプ】
DocumentLayoutStyle.CASCADE
DocumentLayoutStyle.HORIZONTALTILE
DocumentLayoutStyle.VERTICALTILE
DocumentLayoutStyle.FLOATALL
DocumentLayoutStyle.CONSOLIDATEALL
・追加されたメソッド(機能)
【ワークスペース】
saveWorkspace()
switchWorkspace()
deleteWorkspace()
resetWorkspace()
【テキストフレームのポイント/エリア変換】
convertAreaObjectToPointObject()
convertPointObjectToAreaObject()
【SVG書き出しオプション】
saveMultipleArtBoards
artboardRange
includeUnusedStyles
Illustrator CC 2014で追加されたライブシェイプなどの新機能は、実際のところJavaScriptでは関係がありません。というのも、新機能は内部の変更を伴わないと実現できないものと、そうでないものがあるためです。
Illustrator CC 2014の場合、内部の機能を変更しなくても実現することができる新機能がほとんどだということです。悪くいえば、店の外装が変わっただけで内装は同じという感じです。
Illustrator CC 2014で追加されたワークスペース関係の機能は、以下のように使うことができます。
app.switchWorkspace() はあらかじめ用意されている、もしくは自分で設定したワークスペースに切り替えるメソッドです。app.switchWorkspace() でパラメーターに存在しないワークスペース名を指定すると、エラーで停止してしまいます。このため、try...catchで囲んでおく必要があります。
// ワークスペースを切り替え
try{
app.switchWorkspace("レイアウト1")
}catch(e){
alert("そのようなワークスペースはありません");
}
ワークスペースを削除することもできます。しかし、削除したワークスペースをプログラムから戻すことはできないので注意してください。
// ペイントのワークスペースを削除
app.deleteWorkspace("ペイント");
ワークスペースをリセットするには以下のようにします。
// ワークスペースをリセット
app.resetWorkspace();
現在のワークスペースを保存する場合は、以下のように名前を指定します。ただし、try...catchで囲まないと、同名のワークスペース名が存在した場合、エラーで停止してしまいます。
// 現在のワークスペースを保存
try{
app.saveWorkspace("テストワークスペース01");
}catch(e){
alert("すでに、そのワークスペース名は存在します");
}
次にテキストフレーム関係です。これはIllustraror CC 2014からではなくIllustrator CCから搭載されている機能です。以下のようにして使います。CC 2014でも特に追加されたオプションはありません。
// すべてのテキストフレームをエリアオブジェクトからポイントテキストに変換
var docObj = app.activeDocument;
for(var i=0; i<docObj.textFrames.length; i++){
docObj.textFrames[i].convertAreaObjectToPointObject();
}
ポイントテキストからエリアテキストに変換するには、convertAreaObjectToPointObject()を、convertPointObjectToAreaObject()に変えてください。実際のところ、テキストエリアの種類を切り替えるスクリプトを使うことはほとんどないでしょう。
ということで、Illustraror CC 2014で追加されたJavaScript関係の説明はこれで終わりです。DocumentLayoutStyleは検索しても出てこなくて、内部実装されているかと思ってやってみたのですが、分かりませんでした。
【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/
>
ヒットしている曲の「Let It Go」ですが、英語耳ではないので「Let It Go」と「Ready Go」と「Lady Go」の区別がつきません。どれも「レディゴ〜」に聞こえます。
成果を時間で評価しない働き方。配達業だと配送時間しかないので辛いところ。もともと残業手当はありませんので、結局どうなったかというと、道路を客先までMAX SPEEDで走るというオチになってます。
雪が降っただけで配達に時間がかかるので、天気が悪くなれば時給は減ってしまいます。天気が悪いだけで損するわけです。もしくは、少し渋滞しただけで損するわけです。自分の能力に関係なく安定しないわけです。
以前に勤務していた会社だと、流れ作業で段ボール作っていました。これは何人もがかかわるチームワークですから、誰か一人しくじれば全体的に遅くなってしまいます。結局、精神的にも体力的にも辛いので早い人は2時間で、普通でも一週間後にはいなくなるという職場でした。まあ、一か月持てば素晴らしいという感じ。
次々と素人がやってきていなくなる職場で、生産性だけで評価されるのは悲しいものがあります。多少仕事がまわるようになっても、今度は個人やチームワークの能力に関係なく、導入されている機械の性能に大きく依存するので、自分達でどうにかするには限界があります(機械は億単位ですし)。
結局、一週間で人が入れ替わるのでノウハウとか何もたまらない。プライベートで勉強もへったくれもない。自宅には何も持ち込めないので。持ち込めるのは職場で稼いだ金のみ。まあ、参考までにそういう職場もあるということで。
・D3.js例文辞典
< http://www.openspc2.org/reibun/D3.js/
>
・Chromecast (クロムキャスト) 使い方辞典
http://www.openspc2.org/reibun/Chromecast/
・Swift例文辞典
< http://www.openspc2.org/reibun/Swift/1.0/
>
・データビジュアライゼーションのためのD3.js徹底入門
< http://www.amazon.co.jp/dp/4797368861
>
・ExtendScript Toolkit(ESTK)基本編
< http://www.amazon.co.jp/dp/B00JUBQKKY/
>
・4K/ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>
・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082
>
・Adobe JavaScriptリファレンス
< http://www.amazon.co.jp/dp/4844395955
>
・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/
>
・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/
>
・本の訂正ページ
< http://www.openspc2.org/book/error/
>
・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< https://www.ddc.co.jp/estore/cgi/item/start.cgi?m=DetailViewer&record_id=243
>
吉田印刷所の「印刷の泉」でも購入できるようになりました。