FC2ブログ
QLOOKアクセス解析

DTPを快適に!

なにかと短時間作業を強いられることの多いDTPの仕事。この苦しみから少しでも解放されたい思いで、只今勉強中!javascript、applescriptの習得を中心にその他のチップス、素材のことなんかを書いていきます。

Illsutratorオーバープリント検索(2)

今回つくりましたオーバープリントの検索スクリプトをご紹介します。

「検索」とありますが「解除」もできます…ある程度。

Illsutratorオーバープリント検索(1)で説明したように、
アピアランスやシンボル、ブラシ等にオーバープリントが含まれている場合は処理できません。

方針としては「あるかないか」そして「どこにあるのか」です。

Illustratorのバージョンですが、
macのCS4、CS5で動作を確認いたしました。
CS2、CS3ではエラーとなり残念ながら使用できません。

あと、ExtendScript Toolkitから実行した場合、
条件によってIllustratorが落ちてしまう場合があります。
Illustrator側から実行していただければ大丈夫かと思います。

その他の環境での動作状況をコメントいただけると助かります。

スクリプトのダウンロードはこちらから(右クリックで別名保存してください)
OverPrintKensaku.js
(fc2ブログの関係で拡張子がjsとなっています。
 jsでも問題なく動きますが、jsxに変更していただけると間違いないかと思います。)
>>追記2014/06/17 
 色々と間違いがありましたのでスクリプトを修正いたしました。
 ・複合パスでの動作 ・選択部分のみの場合の動作 等修正


スクリプトの流れ

●スクリプトを実行すると
Illustratorのデータがもつオーバープリント情報を元に、
オーバープリントが無ければ
オーバープリントは見つかりませんでした。
というダイアログがでます。


●無い場合でも、ファイルが未保存のときは
保存してから再度実行してください。
というダイアログがでます。

※注意
このオーバープリント情報は保存時に最新となりますので、
スクリプト使用前にファイルを保存しないと、
正しい結果が得られない場合があります。

(詳しくはIllsutratorオーバープリント検索(1)を。)


●オーバープリントがある場合は
オーバープリントが検出されました。
というダイアログがでて、設定項目と実行するかを聞いてきます。

処理範囲(どちらか選択してください)
◯すべて ドキュメントのすべてのオブジェクトが対象となります。
◯選択部分のみ スクリプト実行前に選択したオブジェクトが対象となります。

処理方法(少なくとも1つ選択してください)
□位置検索 どこにあるかを検索します。
    「オーバープリント」というレイヤーが作成され、
    そこにオーバープリントがかけられたオブジェクトが複製されます。
    色はマゼンダに変更され透明度50%となります。
□解除する オブジェクトのオーバープリントを解除します。

K100%(どちらか選択してください)
◯処理する 処理範囲のオブジェクトをすべて、処理します。
◯そのまま C,M,Y,K=0,0,0,100%のオブジェクトを処理から除外します。
    スミ100%はオーバープリントがかかっていても、
    そのままの状態です。


●「キャンセル」ボタンを押すと、処理が中止されます。
「OK」ボタンを押すと、設定に応じた処理が行われます。


●処理が正常に行われると、
●個のオブジェクトを処理しました。
とオーバープリントがかかっていたオブジェクトの個数を表示します。


●選択範囲にオーバープリントを見つけられなかった場合、
処理できるオーバープリントはありませんでした。
というダイアログが出ます。

見つけられない原因としては、
・アピアランスやシンボル、ブラシ等にオーバープリントがある場合
・ドキュメント内にはあるものの、処理範囲が「選択部分のみ」で、その中になかった場合
・スクリプト実行前にオーバープリントのあるオブジェクトを削除したが、
ファイルを保存していない場合。

などが考えられます。


●ドキュメントにオブジェクトが全くなかったり、
処理範囲を「選択部分のみ」にしたのに全く選択されていない場合は
実行するオブジェクトがありません。
というダイアログが出ます。


実際の運用


私が考える運用方法としては
1.ファイルを保存
ファイルを保存し最新の状態に

2.スクリプトを実行
スクリプトを実行し、無ければOK!問題なし!
あれば一度「キャンセル」します。

3.アピアランスの分割
アピアランスを使っている場合は「すべてを選択」してから、
「オブジェクト」ー「アピアランスを分割」をしてください。
これでアピアランスはありません。

シンボル等にも使っている可能性がある場合はさらに
「オブジェクト」ー「分割・拡張…」をしてください。

これでかなり書類としては破壊されていますので、
あらかじめ別名で保存やバックアップを作ってご使用ください。

4.改めて実行
アピアラスの分割などを行っても、オーバープリントの有無は変りません。
再度スクリプトを実行しオーバープリントの位置を確認してください。

5.オーバープリントを手動で解除
位置確認をしたファイルを閉じ、元のファイルを開き直し、
手作業にてオーバープリントを解除してください。
両方開きながらのチェックが良いでしょう。

6.最終チェック
オーバープリントを解除したファイルを保存し、
もう一度スクリプトを実行し
オーバープリントが無くなったことを確認。

こんな感じで考えました。

ただ、その時の状況に応じて臨機応変に使えるかと思います。

どこにあるかはどうでもいい方は、まずは解除を。
もう一度実行し、まだあるようなら位置確認を。

ここで注意しなくてはいけないのは、
実行後にファイルを保存しないと、
無くなっても、いつまでも「あります。」と言われてしまいます。

あるいは、アピアランス等を分割せずに「位置検索」を実行した場合は、
オーバープリントが少数であれば、
位置を覚え、「取り消し」(コマンドZ)をすれば、
スクリプト実行前に戻りますので、
そのまま修正保存が出来るかと思います。

実行結果
位置検索をすると、
上記のように「オーバープリント」というレイヤーができ、
色をマゼンタに変更した半調のオブジェクトがコピーされます。

場合によってはマゼンダがわかりにくい時もあると思います。
「オーバープリント」レイヤーのオブジェクトだけを選択すると
位置がわかりやすいでしょう。

最後に

私としては、使い回しの素材等があったりするので、
どこにあるかわかったほうがいいと考えました。(後付けか…)

作っていく内にいろいろ欲が出まして、設定項目が増えてしまいました。
増やしたがゆえに、矛盾も生じているかもしれません。
ご指摘いただければ、皆さんの使いやすい形に変えていければとは考えています。

外に出してしまいましたが私もまだ、試用中です。
まだまだ想定外の動作もあるかもしれませんので、
バックアップなどをとった上でのご使用お願い致します。

バグ報告等いただけると幸いです。