リンクをクリップボードにコピー
コピー完了
アピアランスパレットで非表示にされているものが、
属性パレットのオーバープリントのチェックをオン/オフで勝手に表示に変更されます。
オブジェクト単体では発生しませんが、以下の条件で発生しました。
1.塗りと線を設定したオブジェクトがある。
2.文字をアウトライン化したオブジェクトがある。
3.1.のオブジェクトの線がアピアランスパレットで非表示になっている。
この状態で、全てのオブジェクトを選択して、属性パレットの「塗りのオーバープリント」
のチェックをオン/オフすると、非表示のはずの線が表示されてしまいます。
RIPで処理するための前処理で、全てのオブジェクトのオーバープリントを解除するときなどに
思わぬ線や塗りが出現します。
Windows10(1709) / Illustrator CC(2018)22.0.1 共に64bitで発生しました。
回避方法などありましたら、教えて下さい。
リンクをクリップボードにコピー
コピー完了
OS X 10.10.5
CS6、CC 2017
再現しました。おそろしい…おそろしい…
再現条件 2 は、パスオブジェクトであれば何でも構わないようで、
選択しているオブジェクトが複数であることが条件のようです。
回避方法は…スクリプトで実行すれば回避できそうな気がします。
リンクをクリップボードにコピー
コピー完了
発生状況を探ってみたところ、
こういうことだと思うのですが、どうでしょうか。
なお、オブジェクトがパスでもテキストでも、この発生状況になります。
リンクをクリップボードにコピー
コピー完了
検証ありがとうございます。
試してみましたが、確かに最前面のオブジェクトの状態が全てに反映されているようです。
たまたま、全てを表示しているオブジェクトが最前面にあったため、表示になってしまったのですね。
(試しに塗りを非表示にしたオブジェクトを最前面に置いたら、とんでもない状態に 汗)
今まで「運が良かった」だけで、いつ事故ってもおかしくない処理ということで、
「一括して属性パレットでオーバープリントの変更は禁止」にして
(オブジェクトの量によっては多少時間がかかっても)スクリプトで処理することにします。
根本的解決には至っていませんが、一応「解決」とさせていただきます。
リンクをクリップボードにコピー
コピー完了
今まで「運が良かった」だけで、いつ事故ってもおかしくない処理
本当にそうですよね。
属性パネルの不具合なのでしょうけど、この現状だと一括変更は禁忌。
スクリプトですが、どうやら「アピアランス内の属性」にはアクセスできないらしく、そこは対象外にならざるをえないようです。ただし「オーバープリント属性があるかどうかだけを調べるスクリプト」が有難いことに公開されていますので、これを利用しながら対処するのが現実的かもしれません。
リンクをクリップボードにコピー
コピー完了
オーバープリントってスクリプトで解除できないのでしょうか。
以下のスクリプトを実行したらオーバープリントの解除はできましたが、何か違うのでしょうか?
// 全ての図形のオーバープリント(塗り・線)をクリアする (function(){ var count = 0; var items = app.activeDocument.pageItems; for(var j=0; j<items.length; j++){ var t = itemsクリエイター手抜きプロジェクト[428]Adobe Illustrator CS4〜CC 2014編 特定の条件でオーバープリントを解除する/古籏一浩(日刊デジクリ).typename; // 文字の場合は1文字単位で処理をする if (t == "TextFrame"){ for(var i=0; i<items .characters.length; i++){ var f1 = items .characters.overprintFill; var f2 = items .characters.overprintStroke; items .characters.overprintFill = false; items .characters.overprintStroke = false; if (f1 || f2){ count = count + 1; } } }else{ var f1 = items .fillOverprint; var f2 = items .strokeOverprint; // 塗りのオーバープリントを解除 items .fillOverprint = false; // 線のオーバープリントを解除 items .strokeOverprint = false; if (f1 || f2){ count = count + 1; } } } if (count > 0){ alert(count+"ヶ所のオーバープリントを解除しました"); }else{ alert("オーバープリントが設定されているものはありませんでした"); } })();
リンクをクリップボードにコピー
コピー完了
アピアランス内のオーバープリントは、スクリプトで解除できないのです。
リンクをクリップボードにコピー
コピー完了
なるほど。わかりました~。
リンクをクリップボードにコピー
コピー完了
蛇足かもしれませんが、Illustratorはすべてのオブジェクトを選択すると属性によってはパネル上がグレーアウトしてしまいオーバープリントの状態を変更できないケースがあります。それも含めた一つの対応策ですが、PDFを書き出して「NGとする不要なオーバープリント」の条件を登録したプリフライトプロファイルを使ってチェックするのも手です。これであれば存在するのかしないのか、そのオブジェクトの特定もできるようになります。修正する際にもどのオブジェクトが該当しているのかわかるので効率的です。私の職場ではこれによって印刷トラブルを防いでいます。
リンクをクリップボードにコピー
コピー完了
Acrobat DCのデフォルトプロファイルを確認してみたところ、「潜在的なオーバープリントの問題を一覧表示」がオーバープリントを一通り検出してくれそうでした。こちらを適時カスタマイズするという方針で問題ないですか?
リンクをクリップボードにコピー
コピー完了
はい。適宜カスタマイズしてお使いいただければと思います。