DTP駆け込み寺
  1. [14726] JavaScript InDesign画像フレームについて EST 2012/10/04 16:15
    1. [14727] Re: dot 2012/10/04 17:33
      1. [14728] Re: Re: EST 2012/10/04 17:37
        1. [14729] Re^2: Re: (z-) 2012/10/04 18:20
          1. [14734] Re^3: Re: EST 2012/10/05 10:16
            1. [14735] Re^4: Re: (z-) 2012/10/05 18:28
              1. [14741] Re^5: Re: EST 2012/10/09 14:37

[ 返信 ]

JavaScript InDesign画像フレームについて

現状、画像を配置してから手でフレームを拡大しています。
画像はそのままの位置でフレームのみ拡大したいのですが、スクリプトで対応することは可能でしょうか?

スクリプト処理は理想としては画像の取り込みから行うことがベストですが、現段階では対象の画像フレームを選択しフレームをコンテンツに合わせるまでインデザインで操作し選択した状態で画像フレームを微拡大するということを検討しています。

環境はMac OSX 10.7、InDesignCS6で作業しています。

[14726] EST (2012/10/04 Thu 16:15)

[ 返信 ]


Re:

画像フレームを微拡大とのことですが、
画像フレームをそのままで内容を微縮小でも良ければ、
フレーム調整オプションの自動フィットを使ってみてはいかがでしょうか?

見当はずれならすいません。。。

[14727] dot (2012/10/04 Thu 17:33)

[ 返信 ]


Re: Re:

印刷時に内容がかけてしまうことがあるので自動フィットでフィットさせるのではなく拡大したいです。

手で調整するよりScriptを使用して規定の拡大をしたいと考えてます。

[14728] EST (2012/10/04 Thu 17:37)

[ 返信 ]


Re^2: Re:

・微拡大、どのぐらいになりますか? 個々の見た目? 元サイズからの割合%? 規定の数mmぶん? 時価?
・拡大の基準点は? フレームの中央? 中身の画像の中央? その他?
また、
・対象は回転のかかっていない長方形だけですか? 多様ですか?

ここまでわかれば、最低限動作する物なら誰かすぐ書いてくれると思います^

[14729] (z-) (2012/10/04 Thu 18:20) web

[ 返信 ]


Re^3: Re:

・微拡大、規定の数mm分です。
・拡大の基準点は中身の画像の中央で対象は回転のかかっていない長方形だけです。

[14734] EST (2012/10/05 Fri 10:16)

[ 返信 ]


Re^4: Re:

> ・微拡大、規定の数mm分です。
> ・拡大の基準点は中身の画像の中央で対象は回転のかかっていない長方形だけです。

ちょっとぶっきらぼうですが書いてみました。CS3では動きましたが(CS6持ってませんすいません)
ドキュメント環境設定の定規の単位がミリメートルである事を期待して…になりますが
(違ったらもう少し書き換える必要があります)

最前面のドキュメントで選択されたオブジェクトを順々に、
・フレームを内容に合わせる ・規定(ミリと仮定)ぶん拡張
します。
グループオブジェクトの内容までは読まないので、
グループ化されてるレイアウトなら白矢印ツールで選択してあげてください。

var resizeValue=3; //とりあえず3 ←ここの数値は適宜書き換えてください
var doc=app.activeDocument;
var sel=doc.selection;
var newgb=[];
for(var i=0; i<sel.length; i++){
if(sel[i].reflect.name=="TextFrame"){ continue; } //テキストフレームは処理しない
try{
sel[i].fit(FitOptions.FRAME_TO_CONTENT); //フレームを内容に合わせる
newgb=sel[i].geometricBounds; //元の四隅の座標
newgb[0]-=resizeValue;
newgb[1]-=resizeValue;
newgb[2]+=resizeValue;
newgb[3]+=resizeValue;
sel[i].geometricBounds=newgb; //増減を加えた座標値に変える
}
catch(e){}
}

[14735] (z-) (2012/10/05 Fri 18:28) web

[ 返信 ]


Re^5: Re:

書き込みありがとうございました。

会社のCS6で実行してみたところ実行できました。

[14741] EST (2012/10/09 Tue 14:37)