リンクの更新で倍率が変わってしまう

[7591]リンクの更新で倍率が変わってしまう 投稿者:あお 投稿日:2005/11/09(Wed) 21:00
はじめまして。質問させてください。
CS3.01のリンクパレットでで「リンクを更新」すると、拡大縮小倍率が勝手に変わってしまいます。
本来、倍率等の属性は変わらないで更新されるはずですよね?
大量の画像を差し替えるときに重宝していて、数日前までは問題なく使えてました。思い当たる原因もこれといってありません。
同様の経験をされた方、なにかヒントをご存じの方、教えていただけると嬉しいです。
» 1
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:YUJI 投稿日:2005/11/11(Fri) 22:03
うちではなったことがないです。
画像のカンバスサイズを変更したわけではないですよね?
» 2
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:あお 投稿日:2005/11/14(Mon) 16:53
YUJIさん、ありがとうございます。
ご指摘のカンバスサイズ(=フレームのサイズ?)変更云々は一切なしです。単にリンク画像の更新のみでの現象です。
で、今日、CS3.0を再インストールしてみたら問題の現象が直りました。ところが、その後3.01 CS2互換アップデートをインストールしたら、また困った状態に戻ってしまいました。ということは「CS2互換アップデート」が原因か。
以前の3.01アップデータはすでにダウンロードできなくなっているので、大量の画像のハンドリングは仕方なくver2でしのいでいる毎日です。
解決策やヒント、なんでもいいので、ご存じの方、知恵をお貸しください。宜しくお願いします。
» 3
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:流星 投稿日:2005/11/15(Tue) 20:56
>拡大縮小倍率が勝手に変わってしまいます。
当方で確認した所によると…
・親フレームのサイズは100%で変更なし。
・ダイレクト選択ツールで画像を選択し縮小している(50%縮小)
という状況で元画像をPhotoshopで80%縮小し、
リンク更新で更新させると……
あら不思議…50%縮小だったものが、
62.5%になってしまう。
という現象で宜しかったでしょうか?
再インストして確認はしていませんが、
CS2互換Updateした環境ですと、このような
動作をします。当方はWinで確認しました。
» 4
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:あお 投稿日:2005/11/16(Wed) 20:24
流星さん、ありがとうございます。
まさにおっしゃるとおりの現象です。
InDesign上で倍率を指定しても、
「リンクの更新」をすると、
画像の寸法にあわせて更新されてしまいます。
はて、仕様(の変更)なんでしょうか???
指定した倍率の方を活かしたまま更新が行われていた
旧バージョンのような動作をさせる方法って
ないんでしょうかね。
引き続き、みなさんのお知恵をお借りできれば嬉しいです。
» 5
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:流星 投稿日:2005/11/16(Wed) 23:21
Winならスクリプトで対処できました。
どなたか詳しい方、JSコンバート
m( _ _ )m m( _ _ )m m( _ _ )m
'――――――――――――――――――――――――――――――――
Set MyInDesign = CreateObject("InDesign.Application.CS")
'更新前の値を取得
YOKO = MyInDesign.Selection(1).Images(1).AbsoluteHorizontalScale
TATE = MyInDesign.Selection(1).Images(1).AbsoluteVerticalScale
'検索用IDを取得
MYID = MyInDesign.Selection(1).Images(1).ItemLink.Id
'取得したIDで検索
For Each IDFIND In MyInDesign.ActiveDocument.Links
'目的のアイテムのリンクを更新
If IDFIND.Id = MYID Then IDFIND.Update
Next
'一度原寸に設定
MyInDesign.Selection(1).Images(1).AbsoluteHorizontalScale = 100
MyInDesign.Selection(1).Images(1).AbsoluteVerticalScale = 100
'更新前の値を設定
MyInDesign.Selection(1).Images(1).AbsoluteHorizontalScale = YOKO
MyInDesign.Selection(1).Images(1).AbsoluteVerticalScale = TATE
Set MyInDesign = Nothing
'――――――――――――――――――――――――――――――――
» 6
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:いき 投稿日:2005/11/17(Thu) 12:07
流星さん、スクリプト作成お疲れ様です。

ただ、すみません、私の環境(WinXP sp1/InDesign CS)では
MyInDesign.Selection(1).Images
のところで、「そんなプロパティ/メソッドはない」とInDesignに怒られました。。。
# ちなみに拡張子は.vbsで保存しました。
» 7
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:どりむ 投稿日:2005/11/17(Thu) 13:53
初めて書き込みさせていただきます。
こちらの環境はOS10.3.9 InDesignCS・CS2の環境ですが、あおさんのおっしゃる現象はCSを「CS2互換アップデート」した直後から認めてました。この現象はCS2でも、やはり起きます。
私が調べた限りでは配置Photoshop画像をPSD保存した場合に起き、EPS保存では起きなかったように思えます。CS2でも同様です。
何かのお役に立てばと書き込ませていただきました。
» 8
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:がれーじm 投稿日:2005/11/17(Thu) 15:20
>リンクの更新」をすると、
InDesign上で倍率を指定しても、
「リンクの更新」をすると、
画像の寸法にあわせて更新されてしまいます。

個人的には、この方が都合がいいです。
InDesign上で画像のレイアウトの際、縮小などをして
大きくなりすぎた解像度Photoshop側で修正した際、
レイアウトしている画像の寸法にあわせて更新してくれるので楽です。

ただ、epsなど画像形式によって挙動が違うのは問題あるような、、。

配置画像のオプション等を環境設定で細かく設定出来ればいいのにと、いつも思います。
» 9
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:あお 投稿日:2005/11/17(Thu) 21:05
みなさん、ありがとうございます。
私は普段TIFFPSDを使っていてこの問題に悩んでるんですが、
EPSを試してみたら確かにこの現象は起こりませんでした。
こういうことは、オプションなどできちんと設定・管理ができるようになってほしいと私も思います。
EPSはファイルサイズがかさばるし、
私にはスクリプト云々はさっぱり?なので、
当面、Ver2へ戻るしかないのかと思うとなんとも憂鬱です。



» 10
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:いき 投稿日:2005/11/17(Thu) 22:15
※流星さんのスクリプトのJSコンバート版ではないですが。
※自作ではなく、以前どこかのサイトで公開されていたフリーのJavaScriptですが。(基本的にInDesign用のJSを公開されているHPはブックマークをしているのですが、片っ端から探しても見つからなかった)

//---------------------------------
$.level = 1; // デバッガ有効に
chkBoot();

function chkBoot(){
if( app.selection.length == 0 ){
alert("選択ツールでオブジェクトを選択してください");
}else{
openDialog();
}
}

function openDialog(){
var myDialog;
var dlgColumn;
var dlgIntBoxW;
var dlgIntBoxH;
var getW, getH;

myDialog = app.dialogs.add({name:"画像の比率を入力"});
dlgColumn = myDialog.dialogColumns.add();
dlgIntBoxW = dlgColumn.integerEditboxes.add({editValue:100}); // 左右
dlgIntBoxH = dlgColumn.integerEditboxes.add({editValue:100}); //

if( myDialog.show() == true ){
getW = dlgIntBoxW.editValue;
getH = dlgIntBoxH.editValue;
myDialog.destroy();
getSelects( getW, getH );
}
}

function getSelects( w, h ){
var len = app.selection.length;
var i;

for( i=0; i<len; i++ ){
app.selection[i].graphics[0].horizontalScale = w;
app.selection[i].graphics[0].verticalScale = h;
}
}
//---------------------------------

選択ツール(黒矢印)で画像を選択し、元画像に対する%をダイアログに入力します。
# 結局は手作業なのですが……。
オリジナルのJSでは最後にフレームを画像にフィットさせますが、今回の例では不要かと思い、その行は削りました。
» 11
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:流星 投稿日:2005/11/17(Thu) 23:05
>ただ、すみません、私の環境(WinXP sp1/InDesign CS)では
>MyInDesign.Selection(1).Images
>のところで、「そんなプロパティ/メソッドはない」とInDesignに怒られました。。。
># ちなみに拡張子は.vbsで保存しました。
EPSだとエラーになってしまいます。検証したのはPSDでした。
詳しく書かず、すみません。(^^;
あと、ソース汚くてすみません。>各位

前回、書き込んだスクリは選択しているフレームのアイテムのみ
拡大・縮小率を更新前の状態に再設定するためのスクリでしたが、
今回、全てのリンクアイテムを対象にするスクリを書き直しました。
今回のスクリはスクリプトパネルから実行して下さい。デスクトップ
などに置いて動作させると、うまくいきません。
今回もソース汚いです。申し訳ないです。
'――――――――――――――――――――――――――――――――
Set MyInDesign = CreateObject("InDesign.Application.CS")
For Each LinkObj In MyInDesign.ActiveDocument.Links
'更新前の値を取得
If LinkObj.Status = idLinkOutOfDate And LinkObj.LinkType = "Photoshop" Then
YOKO = LinkObj.Parent.AbsoluteHorizontalScale
TATE = LinkObj.Parent.AbsoluteVerticalScale
End If
'リンクを更新
If LinkObj.Status = idLinkOutOfDate Then
FindName = LinkObj.Name
LinkObj.Update
'更新でどっか逝ってしまってしまったので…
For Each FindLink In MyInDesign.ActiveDocument.Links
If FindLink.Name = FindName Then
Set LinkObj = FindLink '再検索してオブジェクトを代入
Exit For
End If
Next
'一度原寸に設定
If LinkObj.LinkType = "Photoshop" Then
LinkObj.Parent.AbsoluteHorizontalScale = 100
LinkObj.Parent.AbsoluteVerticalScale = 100
LinkObj.Parent.AbsoluteHorizontalScale = YOKO
LinkObj.Parent.AbsoluteVerticalScale = TATE
End If
End If
Next
Set FindLink = Nothing
Set LinkObj = Nothing
Set MyInDesign = Nothing
MSGBOX "処理が終わりました。"
'――――――――――――――――――――――――――――――――

>私にはスクリプト云々はさっぱり?なので
環境が書かれていないので、とりあえずWinスクリを提案しました。
Macな方の為にJSで書けばいいのですが、今の私のスキルではJSを
書けないので、ご了承ください。m(_ _)m
» 12
[7591へのレス]Re: リンクの更新で倍率が変わってしまう 投稿者:小泉 投稿日:2005/11/18(Fri) 19:08
ASです。これでいけるかな?

tell document 1 of application "InDesign CS_J"
set a to object reference of links
set b1 to absolute horizontal scale of parent of links
set b2 to absolute vertical scale of parent of links
update links
set a to object reference of links
repeat with c from 1 to count a
set properties of parent of a's item c to {absolute horizontal scale:b1's item c, absolute vertical scale:b2's item c}
end repeat
end tell
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア