• 締切済み

AdobeイラストレーターCS5保存処理自動化

デザイン関係の仕事をしています。 最近CS5への移行が始まりまして、 これを機会に入稿事故防止の為に、ルーチン作業を自動化出来ないか検討しています。 詳しい方のお知恵を拝借出来れば幸いです。 【実現したい機能】 イラストレーターCS5で作成したファイル「example.ai」に対して下記のバッチ処理を実行 1. ファイル名の末尾に作業バージョンを示す文字列「_cs5」を追加して、保存 2. ファイル名の末尾に下位保存バージョンを示す文字列「_cs4」を追加して、CS4に落として下位保存 3. 全てのオブジェクト、レイヤーのロックを解除。全てのテキストをアウトライン化。再度全レイヤーをロック。  1のファイル名末尾にアウトライン済みで有ることを示す「_cs5_ol」を付けて、保存 4.上記3の状態で、下位保存バージョンと、アウトライン済みで有ることを示す文字列「_cs4_ol」を追加して、CS4に落として下位保存 5.「画質:最高、カラーモード:RGB、解像度:350dpi」で、JPEG画像を書き出し 6. ファイル名を元にした「example.ai_collected」をデスクトップの指定ディレクトリに作成。  これを出力先として、純正プリセットスクリプトの「collect for output」を実行する。 【希望する動作結果】 example.ai を開いている時に実行すると、下記の5つのファイルを書き出し example_cs5.ai example_cs5_ol.ai example_cs4.ai example_cs4_ol.ai example_cs5_ol.jpg その後、"collect for"の動作で、 「example.ai + 全リンク画像」を指定フォルダに収集 【現時点での実現度】 「collect for output」を、開いているファイル名を元に自動で実行する処理(上記6)は、 純正スクリプトの改修で実現出来ました。 この過程でUnixパス("/"区切り)とAppleScriptパス(":"区切り)の変換手法は学習出来ました。 しかしながら特定の形式で任意に下位保存させる為の方法がわからず、苦戦しています。 アドビの資料は全て英語でしたので、分かる範囲で勉強していますが、 http://www.adobe.com/jp/devnet/illustrator/scripting.html 今回の主目的はスクリプトの学習ではなく、業務の改善ですので、 もし既に似たような生産性向上目的のスクリプトが存在したり、販売されている、 又は依頼してスクリプト作成を受託して下さる方が居るなら その利用を優先的に選択したいと思います。 もちろん独自に実装できそうなら、それは喜んで実行したいところです。 ついては同種のスクリプト例文集等をご紹介頂くのも嬉しいです。 私はunixの簡単なシェルスクリプトが書ける程度の知識があります。 Apple関係は学習を始めたばかりです。 【環境】 イラストレーターCS5 / Mac10.6及び10.7 Apple Script又はJava Scriptで実装 よろしくおねがいします。

  • Mac
  • 回答数4
  • ありがとう数0

みんなの回答

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.4

そうそう! 一つ致命的な処理をしないとお望みのこと出来ないの判った。 作業は多分CS5だと思うけど CS5のai保存後に「CS5アウト」もしくは「CS4ai」保存後に一度閉じて 再度CS5aiを開いた後、残りの作業行わないとダメだよ。 アウト後のCS4ai保存は意味無いし、CS4ai保存後にCS5アウト保存も実質的にSC4アウトだからね。 開いたままでの処理は諦めたほうが良いんじゃない?

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.3

どうも! 気になったのでネット検索した具材でちょこっと作ってみました。 イラレ保存オプション 下記がソース(jsxだよ) ↓↓↓ここから↓↓↓ //フォルダを選択 var folderObj = Folder.selectDialog("aiファイルのあるフォルダを選択してください") ; //保存先を選択 var saveObj = Folder.selectDialog("保存先のフォルダを選択してください") ; var saveObj = saveObj + "/" ; //末尾に区切りのスラッシュが抜けているので足しておく //inddファイルを配列化(小文字・大文字無視) var fileListIAI = folderObj.getFiles("*.ai") ; //AI保存時のオプション設定 var aiOptions = new IllustratorSaveOptions; with (aiOptions) { compatibility = Compatibility.ILLUSTRATOR14 ; //バージョン CS=11/CS2=12/CS3=13/CS4=14/CS5=15 pdfCompatible = true ; //PDF互換ファイルを作成→チェックオン embedLinkedFiles = false ; //配置した画像を含む→チェックオフ embedICCProfile = false ; //ICCプロファイルを埋め込む→チェックオフ compressed = true ; //圧縮を使用する→チェックオン } //ファイル数分繰り返す for (i = 0; i < fileListIAI.length ; i ++) { //ファイルを開く app.open(fileListIAI[i]) ; //作業するドキュメントなどを変数に代入 var docObj = app.activeDocument; //ドキュメント名を取得 var fsName = docObj.name ; var fsArray = fsName.split(".") ; var aiName = fsArray[0] ; //ドキュメント名取得できた //ファイル生成 var saveFile = new File(saveObj + aiName + "_CS4" + ".ai"); //保存 docObj.saveAs(saveFile, aiOptions); //ドキュメントを閉じる app.activeDocument.close() ; } ↑↑↑ここまで↑↑↑ レイヤー管理 下記がソース(jsxだよ) ↓↓↓ここから↓↓↓ var folderObj = Folder.selectDialog("Illustratorファイルの入っているフォルダを選択してください"); var folder = Folder.selectDialog("保存するフォルダを選択してください"); if (folderObj != null){ fileList = new Array; fileList = folderObj.getFiles("*.ai"); for (f = 0 ; f <= fileList.length-1 ; f++){ var fileObj = new File(fileList[f]); open(fileObj); flag = fileObj.open(); if (flag == true){ mydocument = app.activeDocument; // レイヤーをカウントする。 layercount = mydocument.layers.length; // レイヤーのロックを行う。 for( i=0; i<layercount; i++ ){ mylayer = mydocument.layers[i]; mylayer.locked = true; //ロック解除は false } } namecount = (fileObj.name).lastIndexOf("."); // fileObj.nameの値で"."の位置を取得 fname = (fileObj.name).substr(0, namecount); options = new IllustratorSaveOptions(); options.embedICCProfile=true; savefile = new File(folder.fsName+"/"+fname+".ai"); mydocument.saveAs(savefile,options); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } ↑↑↑ここまで↑↑↑ 文字のアウトライン 下記がソース(jsxだよ) ↓↓↓ここから↓↓↓ var mydoc = app.documents[0]; //レイヤーのロックだけは解除しておく layerUnLock(mydoc); var tfitems = mydoc.textFrames; var tfcount = tfitems.length; var mymsg = ""; for(var i = tfcount - 1;i > -1;i--){ try{ visiblebak = tfitems[i].hidden; tfitems[i].locked = false; var newgroup = tfitems[i].createOutline(); newgroup.hidden = visiblebak; }catch(e){ mymsg = "アウトラインできなかったオブジェクトがあります。"; } } if(mymsg != ""){ alert(mymsg); } function layerUnLock(myObj){ var lycount = myObj.layers.length; for(var n = 0;n < lycount;n++){ if(myObj.layers[n].visible == true){ myObj.layers[n].locked = false; layerUnLock(myObj.layers[n]) } } } ↑↑↑ここまで↑↑↑ jpeg保存時のオプション設定 下記がソース(jsxだよ) ↓↓↓ここから↓↓↓ function getJPEGOptions() { var jpegExportOpts = new ExportOptionsJPEG(); //ExportOptionsJPEGを定義 var matteRGBColor = new RGBColor(); //マットカラーの指定RGB別 matteRGBColor.red = 255; matteRGBColor.green = 255; matteRGBColor.blue = 255; jpegExportOpts.antiAliasing = true; //アンチエイリアス:true,false jpegExportOpts.artBoardClipping = true; //アートボードサイズで?:true,false jpegExportOpts.blurAmount = 0.0; //ぼかし足し:0.0 to 2.0 jpegExportOpts.horizontalScale = 100.0; //横方向拡大縮小:100.0=100% jpegExportOpts.matte = true; //マット有り無し:true,false jpegExportOpts.matteColor = matteRGBColor; //マットの色:RGBColorで指定 jpegExportOpts.optimization = true; //最適化する?:true,false jpegExportOpts.qualitySetting = 80; //画質は?:0 to 100 jpegExportOpts.saveAsHTML = false; //HTMLも保存する?:true,false jpegExportOpts.verticalScale = 100.0; //縦方向拡大縮小:0.0 to 776.19 jpegExportOpts.typename = 'WEB'; //Read-only return jpegExportOpts; //jpegExportOptsを設定 } ↑↑↑ここまで↑↑↑ 以上! 後はお好きなように並べ替えて使ってください。 で、一つ言いたいのが 既に開いてる書類の作業なのでスクリプトで行うより「アクション」の方が管理しやすいと思うのですが・・・ 自己責任でお願いします。

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.2

補足有難うございます。 と言うか 何したいの???? なんで5つもの保存データ作りたいの? その意味で「アウトは同じだよ」と回答したんだけど・・・ 先方がPDFがNGなら保存変えれば良いこと。 何か「なんでもかんでも自動で!」と思い込んでませんか? 私が言いたいのは「同じデータで5つの保存を行うこと自体間違いでは?」です。 仮にワンクリックで出来たと仮定して 物理的トラブルが発生した場合、何を持って「最新データ」を証明するの? 一括処理の場合のそのリスクは考慮済みですか? その辺教えて下さい。 この事案で私なりの対応は頭の中で思い浮かんではいますが。

sidewalk
質問者

補足

バージョン管理システムが稼働していますので、 ご心配頂いた「最新データの証明」について、その必要性は存在しないと考えています。 一括処理のリスクとは何の事でしょうか? 上記5種のデータ書き出しは入稿先、クライアントとの規定ですので その前提に関して問うことは元の質問の趣旨から外れています。 スクリプトの動作以外でのご提案は、お気持ちは感謝致しますが 元来の趣旨から外れるのであれば不要です

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.1

初めまして 教えて頂きたいのですが お望みの事 必ず1回の作業でないとダメなのでしょうか? それと「example_cs5_ol.ai」「example_cs4_ol.ai」はなぜバージョン単位で必要なのでしょうか? アウトラインという性質上「PDF保存」ではダメなのですか? 「.ai」は理解できます。 1.【example_cs5.ai】保存作業 2.【example_cs4.ai】保存作業 3.【example_ol.pdf】保存作業 4.【example_ol.jpg】保存作業 ではダメですか?

sidewalk
質問者

補足

回答ありがとうございます。 PDF保存は今回利用出来ません。 理由は入稿先の規定に定められているからです。 #特色や箔押し、特殊印刷などの加工に対応する為にはネイティブ.aiファイルが必要だと言うのが先方の製版ご担当者の見解です。 #.編集機能を保持したpdfでも問題無いように感じましたが、残念ながら抗弁出来ない状況です また、アウトライン処理の部分について、自己解決できましたので追記します。 「全てロック解除ーアウトライン、全レイヤーを再度ロック」の処理に関して、 イラストレーターに「全てのレイヤーをロック解除」コマンドは有っても、「全てをロック」コマンドが無かったので (代わりに「他の全てのレイヤーをロック」機能は有る)アクションで実行出来ないかと思いましたが、 一度、「作業用レイヤー」を作成して「他をロック」、この後「作業用レイヤー」を削除する事で希望の動作が実現出来る事が解りました。 ついては、 ・任意のファイル名で、バージョンを指定して保存するアップルスクリプトの書き方 (save コマンドのリファレンスに有るように思います) ・AIアクションをスクリプトからコールする方法 が習得できれば、希望の動作が実現出来るかと思いました。

関連するQ&A

  • Adobe Illustrator CSのCS形式について

    自宅でAdobe Illustrator CSを使っています。 保存のときに、 『CS形式で保存するとテキストレイアウトの一部が変更されたり、 次にドキュメントを開いたときに編集機能の一部が使用できなくなる可能性があります。続行しますか?』 と説明が出ます。 仕方ないので、それで『はい』を選んで保存しているのですが、 本当はCS形式で保存したくないのです。 文字はアウトライン化していますが、学校の授業でAdobe Illustrator 10で開くと、実際にちょこちょこ不都合があります。 ファイルの書き出しで、保存の形式を8.9.10など下げられるのかなと やってみましたが、やり方が違うみたいで・・・ Illustrator ファイルでCS形式以外で保存するにはどうしたら いいのか、ご助言お願いします。

  • イラストレータCS2にまだ慣れず・・・

    初めて質問します。 イラストレーターCS2を仕事で使い始めて半年程ですが、なんとな~くで使っています。 イラストレータCS2で作り、印刷屋さんなどに入稿する時よく、CS2が入っていないので、「開けない」と言われてしまうので バージョンをかなり下げて渡すのですが、バージョンを下げたり、EPSをaiなどで保存してしまうと その後、自分でそのデータを開いてみると、画像がぶつ切りに割れていたり、アウトラインされていないテキストが、1個1個割れていたりして「やりづらいなぁ」と思いながらの作業です。バージョンを下げるのが良くないのかな?とも思うのですが、どなたか詳しく知っている方、教えて頂きたいです。よろしくお願いします。

  • 【Illustrator cs2】別名保存を自動でしたいです

    「4桁日付+日本語.ai」というファイル100個を  日本語の部分をローマ字表記に換えて保存したいのです。 自動処理をしようと、アクションで 「0101高橋.ai」と言うファイルを 「0101takahashi.ai」というファイルに別名保存し、 「別名保存」のバッチ処理で一括で行ってみたのですが 記録した名前(0101takahashi.ai)でしかファイルが保存されません 別名保存を一括で行うにいは どのように行えばよいでしょうか。 環境は windows xp Illustrator cs2 です。 皆様のお知恵をお借りしたいです。 よろしくお願いします。

  • イラストレーターCS5での画像アウトライン化

    イラストレーターCS5を使って以下の画像のファイルをアウトライン化したいです どのようにしたら綺麗にアウトライン化できますでしょうか? ライブトレースを使ってみたのですが 今ひとつ綺麗にアウトライン化できません photoshopと組み合わせてもいいので AIデータとしてできるだけ簡単な手順でアウトライン化できる方法をご教授お願い致します

  • Illustrator CSとAdobe Readerで見た時、色が違う

    最近、Illustrator CSを使って印刷物の制作をしています。 Illustrator CSにJPEGデータを読み込ませ、AIやPDFで保存したものをAdobe Readerで見ると、どうしても色が淡くなってしまいます。 それに気付かず、印刷業者へAIファイルを提出した所、Illustrator CSで見られる色ではなく、Adobe Readerで見られる淡い色で出来上がってしまいました。 これはどのように設定すれば淡くならずに済むのでしょうか? 追記:CMYKなどといった色の専門知識はなく、先ほど調べていじってみたのですが、やはり変わりませんでした…。

  • Illustratorで画像データ配置を自動処理

    画像データが100ファイルあります。Adobe Illustrator CS3で新規ファイルを作って、画像データをリンクで配置して保存。最終的にリンク画像データを貼り込んだAIデータ100ファイルにしたいのですが、バッチ・スクリプト等を使って自動処理することは可能でしょうか? ※画像は埋め込みではなくリンクです。

  • イラストレーターCS5をCS3で保存

    イラストレーターCS5を使用しております。作成したデータをCS3に保存したいと考えております。 他にも書き込みがあるように「ファイル」-「書き出し」保存形式で「Illustrator Legacy」を選択しようとしたのですが保存形式の中にはありませんでした。 最初にどこかで設定する必要があるのでしょうか? どなたかご教授お願いいたします。

  • イラストレーターcs3を使用しております。

    イラストレーターcs3を使用しております。 aiで保存時に、「ファイルを圧縮」のみチェックを入れても ファイルサイズが軽くなりません。 設定をかえればなおりますでしょうか? 詳しい方、解る方いたらお願いします。

  • Adobe CS3(Windows)の下位バージョンでの保存について

    Windows版のAdobe Illustrator CS3を使っています。 印刷所の都合で、CS2バージョンでファイルを作らなければならなくなりましたが、下位バージョンでの保存方法がわかりません・・・ Windows版だと、Mac版で下位バージョン保存する時のように「Illsutratorオプション」という枠がなく、途方に暮れています。 http://www.openspc2.org/reibun/IllustratorCS3/save/001/index.html どなたかご存知のかたがいらっしゃいましたら、よろしくお願いします。 ―――――――――――――――――――――――――――― イラストレーターCS3 ウィンドウズ版 マック版

  • イラストレータCS

    イラストレータCSで.aiで保存された書類が開くのは開くのですが、保存がまったくできないのです。原因と対処法をどなたか教えてください。 数日前まではできました。また、他とのパソコンではちゃんと保存もできて問題はありません。