DTP駆け込み寺
  1. [13219] Illustrator用JavaScriptで文字のオーバー 森野クマ 2011/11/25 11:22
    1. [13220] Re: Illustrator用JavaScriptで文字の いき◆OTKUlNBtV0 2011/11/25 12:12
    2. [13221] Re: Illustrator用JavaScriptで文字の (z-) 2011/11/25 12:14
      1. [13222] ありがとうございました 森野クマ 2011/11/25 12:39

[ 返信 ]

Illustrator用JavaScriptで文字のオーバー

よろしくお願いします。

IllustratorのCS5において、配置されたオブジェクトのオーバープリントを無効にするというスクリプトを書きました。長方形ツールなどで作成したオブジェクトに関しては下記スクリプトで無効にできたのですが、文字ツールで配置した文字に関しては無効にできませんでした。

もしお分かりの方がいらっしゃいましたら、どうすればいいかご返答いただけますでしょうか。よろしくお願いいたします。

for (i=0; i<activeDocument.pageItems.length; i++)
{ activeDocument.pageItems[i].fillOverprint = false; }

[13219] 森野クマ (2011/11/25 Fri 11:22)

[ 返信 ]


Re: Illustrator用JavaScriptで文字の

文字と文字以外のオブジェクトでは扱いが異なります。
以下のソースではいかがでしょうか。

for (i=0; i<activeDocument.pageItems.length; i++) {
if(activeDocument.pageItems[i].typename == "TextFrame") {
activeDocument.pageItems[i].textRange.overprintFill = false;
}
else {
activeDocument.pageItems[i].fillOverprint = false;
}
}

[13220] いき◆OTKUlNBtV0 (2011/11/25 Fri 12:12) web

[ 返信 ]


Re: Illustrator用JavaScriptで文字の

いま手元にCS3までしかありませんが、ちょっと見てみました。
pageItems[i].textRange.overprintFill = false;
のようです。

Illustratorはテキストの一部だけにオーバープリントを設定できたりもするし(意図せずとも、オーバープリントありのテキストからなしのテキスト内にペーストするなどで起こりえます)、
グループ、アピアランスなど深まるたびにいちいち個々の階層を見に行く必要があるため、
 完璧にやろうとするとスクリプトだと逆に大変、とは思いますが。。
詳しくは、おぐぐりください。

[13221] (z-) (2011/11/25 Fri 12:14) web

[ 返信 ]


ありがとうございました

ご返答ありがとうございました。

for (i=0; i<activeDocument.pageItems.length; i++)
{
activeDocument.pageItems[i].textRange.overprintFill = false;
}

これでうまくいきました。
大変助かりました。

完ぺきにはできないかもしれませんが、
できるところまでやってみたいと思います。

[13222] 森野クマ (2011/11/25 Fri 12:39)