Quantcast
Channel: 3倍早くなるためのDTP講座
Viewing all articles
Browse latest Browse all 136

Illustratorで自動保存のスクリプト「cycle save」

$
0
0


前回、Illustratorで自動保存ができるプラグイン「Autosaviour」をご紹介しまして、MD5500さん作のスクリプト(cycle save)もありますが、「スクリプト分からないよー、起動できないよー」で終わっておりました。


その後MDさんと連絡をとり進展がありましたので、こちらにてご報告させていただきます。

まず上記リンク先を読むと、スクリプトの数値等書き換えて保存する際に、
「上記を設定の上、別名保存でファイルフォーマットからアプリケーションを選び、実行後、自動的に終了しないにチェックをいれて保存してください。」
と書いててあります。

こんな初歩的な注意書きも、スクリプト分からない人には分からんのです。そもそも書き換えて保存って?という状態ですよね。え?それくらいわかります?

そこで、私のスクリプトの知りうる限りの知識を総動員して、このスクリプトを攻略してみようではありませんか!

その前に、こちらApplescriptなので、Macでない方はここで終了です。自分で他のスクリプトを書きましょう(Winに冷たい^^)。

そして、Macの方はここからです。MDさんのページからデータをダウンロードしましょう。アプリ形式のものも同梱されているので、こちらを起動すればすぐに使えます。

時間などを設定したい場合は「cycle_save.applescript」をダブルクリックしましょう。すると、スクリプトエディタが開くので、コメントのある部分を書き換えます。

↑時間の指定は数値を書き換える(画面は旧版です)


そして「書き出す」でオプションを設定します。HPの注意書きはこれのことでした。
ファイルフォーマットを「アプリケーション」、オプションで「ハンドラの実行後に終了しない」にチェックして保存します。すると、ダブルクリックすれば実行するスクリプトになります(エディタのバージョンによって多少違います)。

ただし、実行専用で作成したものは単体のアプリケーションとなるので再編集はできません。元のソースコードファイルはとっておきましょう。

↑MacOS10.8のエディタだとこのようになります


これでcycle_save.appを起動して、Illustratorが起動状態であれば最前面のファイルを指定間隔で自動保存ができちゃうんです。

↑スクリプト起動中は自動でバックアップします


ドヤァてな感じで書きましたが、スクリプトを扱う方にしてみたら息を吸ってはいたようなものです。えらそうにすみませんでした。



次に機能の説明をいたします。
スクリプトを起動すると、
・Illustratorの最前面にあるファイル
・前回保存後に変更がある場合
・指定した時間が経過
でドキュメントを一旦「上書き保存」します。そのデータに日時を追加して、同一階層の「_version」フォルダにcycle saveが複製保存してゆきます。

注意すべきはデフォルトでは保存オプションの「PDF互換チェック」はオフにします。これは保存時間やファイル容量が減り、作業の妨げを減らせるので理にかなっています。

反面「上書き」なので、元データもPDF互換がオフになってしまいます。私のようなうっかり者はデータの内容によってケースバイケースで切り替えた方が良いかもしれません。というわけで注意書きにもありますが、PDF互換がオンの方が良い場合は以下の値を書き換えます。

on doc_save(doc_path)
    tell application "Adobe Illustrator"
        save current document in file doc_path as Illustrator with options {class:Illustrator save options, PDF compatible:true} ←ココね
        --PDF互換にするにはPDF compatible:falseをtrueにする
    end tell
end doc_save



さて、前回ご紹介のAutosaviourプラグインは直前の2つしかバックアップしないようですが、こちらは日時を追加しつつずっと残せます。挙動はこちらの方が理想に近いですね。

比較を表にしましたが、一長一短あります。使い勝手は人それぞれなので一概にどちらが良いとは言えません。

前回も言いましたが、理想は元データが無傷でバックアップを自動だと思っております。InDesign形式はムリにしても、せめて上書きでなく複製保存で元データは無傷でできないものか…。MDさんに聞いてみましたが、どうやらIllustratorはスクリプトで複製保存の制御は難しいようです(もし解決策をご存じの方がいらっしゃいましたらご一報いただけたら幸いです)。

さて、記事の下書きまで終わったところでMDさんから「でけました」のご連絡が。そう、私はうっかりものなので、スクリプトが立ち上がっていることを忘れて放置した書類が上書きされたら困るなー、Illustratorと共にスクリプトを終了できないかなー、などと考えておりました。

Twitterにその旨発言したところ、ユミソラさんからもヒントをいただき(ユミソラさんありがとうございます!)、MDさんがIllustrator起動時のみ動くバージョンを作ってくれました! リンク先のダウンロードにある「cycle_save_onquit.zip」です。時間とオプションを分けたバージョンをいくつか作り、作成する書類によって切り替えればかなり理想に近づきますね。

私は通常10分、細かいトレースなどは3分で、PDF互換オンとオフの4パターンを作り、書類内容によって切り替えようかと思っております。

cycle_saveは「ギニャー! イラレが落ちたー」の悲鳴と「自動保存はできないのか?」の声に応えて作成、無償配布されていたようで、Illustratorユーザーにとっては有難い限りです。MDさん本当にありがとうございました。

最後に。
HPの注意書きにも書かれていますが、元データは別にバックアップしておきましょう。
※注意(引用)
前回同様、保存という処理の性質上、元に戻せません。ご使用の際には充分な検証をなさった上でご利用下さい。
よくいわれる"At your own risk"でお願いします。
Script処理がはじまった時に、アクティブ(最前面)なファイルに対して保存を行いますので、他のファイルからパーツだけ欲しいという場合等は複製を開いた方がよいでしょう。


※スクリプトの使用は自己責任でお願いいたします。もしトラブルが起きても、作者と私は責任を負いかねますので予めご了承下さい。

Viewing all articles
Browse latest Browse all 136

Trending Articles