FrameFittingOption
[2532]FrameFittingOption |
投稿者:よしひで |
投稿日:2009/03/07(Sat) 00:01:17
はじめまして。
Win InDesign CS4を使用してます。
JavaScriptで、画像フレームにFrameFittingOption(フレーム調整オプション)にて画像トリミングの設定をしたいのですが。。
なにぶん初心者なもので、なかなかうまくいきません。
お知恵を貸していただければ幸いです。
どうかよろしくお願いします。
» 1
Win InDesign CS4を使用してます。
JavaScriptで、画像フレームにFrameFittingOption(フレーム調整オプション)にて画像トリミングの設定をしたいのですが。。
なにぶん初心者なもので、なかなかうまくいきません。
お知恵を貸していただければ幸いです。
どうかよろしくお願いします。
[2533]Re: FrameFittingOption |
投稿者:せうぞー |
投稿日:2009/03/07(Sat) 03:15:44
よしひでさんの場合に限らないのですが、
一般的にこうした質問をされる方は、なにがしたいのか、なにがわからないのか、言葉だけではさっぱりわからないことが多いので、
自分が書いたところまで、コードを示してください。
初心者ならばなおさらです。タイポの可能性もありますし。
とりあえず、FrameFittingOptionのプロパティをいくつか使ってみました。
function myerror(mess) {
if (arguments.length > 0) { alert(mess); }
exit();
}
var my_selection = app.activeDocument.selection; //グラフィックフレームを選択していると想定
if (my_selection.length == 0) {myerror("何も選択されていません")}
if ("Rectangle, Oval, Polygon".match(my_selection[0].reflect.name) == null) {myerror("グラフィクフレームを選択してください")}
if (my_selection[0].contentType != ContentType.GRAPHIC_TYPE) {myerror("グラフィクフレームを選択してください")} ;
var my_fit_option = my_selection[0].frameFittingOptions;
my_fit_option.topCrop = 1;//トリミング量 上
my_fit_option.bottomCrop = 2;//トリミング量 下
my_fit_option.leftCrop = 3;//トリミング量 左
my_fit_option.rightCrop = 4;//トリミング量 右
my_fit_option.fittingAlignment = AnchorPoint.BOTTOM_RIGHT_ANCHOR;//揃え基準点
my_fit_option.fittingOnEmptyFrame = EmptyFrameFittingOptions.NONE;//空のフレームに合わせる:サイズ調整
var my_file = File.openDialog("画像ファイルを指定してください");
my_selection[0].place (my_file);//配置
» 2
一般的にこうした質問をされる方は、なにがしたいのか、なにがわからないのか、言葉だけではさっぱりわからないことが多いので、
自分が書いたところまで、コードを示してください。
初心者ならばなおさらです。タイポの可能性もありますし。
とりあえず、FrameFittingOptionのプロパティをいくつか使ってみました。
function myerror(mess) {
if (arguments.length > 0) { alert(mess); }
exit();
}
var my_selection = app.activeDocument.selection; //グラフィックフレームを選択していると想定
if (my_selection.length == 0) {myerror("何も選択されていません")}
if ("Rectangle, Oval, Polygon".match(my_selection[0].reflect.name) == null) {myerror("グラフィクフレームを選択してください")}
if (my_selection[0].contentType != ContentType.GRAPHIC_TYPE) {myerror("グラフィクフレームを選択してください")} ;
var my_fit_option = my_selection[0].frameFittingOptions;
my_fit_option.topCrop = 1;//トリミング量 上
my_fit_option.bottomCrop = 2;//トリミング量 下
my_fit_option.leftCrop = 3;//トリミング量 左
my_fit_option.rightCrop = 4;//トリミング量 右
my_fit_option.fittingAlignment = AnchorPoint.BOTTOM_RIGHT_ANCHOR;//揃え基準点
my_fit_option.fittingOnEmptyFrame = EmptyFrameFittingOptions.NONE;//空のフレームに合わせる:サイズ調整
var my_file = File.openDialog("画像ファイルを指定してください");
my_selection[0].place (my_file);//配置
[2535]Re: FrameFittingOption |
投稿者:よしひで |
投稿日:2009/03/07(Sat) 10:51:50
せうぞー様、回答ありがとうございます。
拙いソースですが、やりたいことはこんな感じです。
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.textFrames.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//上記で作成したフレームに画像を貼り付け。
pageobj.textFrames[0].place("C:/press/091t811.PDF");
// ………………ここまでは動いています。…………………
//その画像を貼り付けたフレームに対してトリミング。
pageobj.textFrames[0].FrameFittingOption.leftCrop = 10;
とこんな感じに動かしたいのですが、上の記述ではエラーになります。恥ずかしながら、記述方法が根本的に間違ってる気もします。。。
最終的には複数のフレームを1つ1つにトリミングを個別に設定して配置したいのですが、1つに設定するだけで行き詰まってしまっている状態です。
» 3
拙いソースですが、やりたいことはこんな感じです。
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.textFrames.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//上記で作成したフレームに画像を貼り付け。
pageobj.textFrames[0].place("C:/press/091t811.PDF");
// ………………ここまでは動いています。…………………
//その画像を貼り付けたフレームに対してトリミング。
pageobj.textFrames[0].FrameFittingOption.leftCrop = 10;
とこんな感じに動かしたいのですが、上の記述ではエラーになります。恥ずかしながら、記述方法が根本的に間違ってる気もします。。。
最終的には複数のフレームを1つ1つにトリミングを個別に設定して配置したいのですが、1つに設定するだけで行き詰まってしまっている状態です。
[2536]Re: FrameFittingOption |
投稿者:たけうちとおる |
投稿日:2009/03/07(Sat) 13:03:07
frameFittingOptions使った事ないのですが
こんな感じですか?
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.textFrames.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//その画像を貼り付けたフレームに対してトリミング。
var my_fit_option = pageobj.rectangles[0].frameFittingOptions;
my_fit_option.leftCrop = 100;//トリミング量 左
var fileObj = new File("Macintosh HD:err.pdf");
pageobj.rectangles[0].place(fileObj);
» 4
こんな感じですか?
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.textFrames.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//その画像を貼り付けたフレームに対してトリミング。
var my_fit_option = pageobj.rectangles[0].frameFittingOptions;
my_fit_option.leftCrop = 100;//トリミング量 左
var fileObj = new File("Macintosh HD:err.pdf");
pageobj.rectangles[0].place(fileObj);
[2537]Re: FrameFittingOption |
投稿者:せうぞー |
投稿日:2009/03/07(Sat) 13:52:49
ちょっと階層を勘違いされているような気がします。
textFrames[0]が唐突に登場しています。
.addメソッドはオブジェクトそのものの返り値をもつので、それを使えばいいです。
かつ、タイポです。
FrameFittingOptionはframeFittingOptionsでなければなりません。
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.rectangles.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//上記で作成したフレームに画像を貼り付け。
var my_file = File.openDialog("画像ファイルを指定してください");
imgobj.place(my_file);
//その画像を貼り付けたフレームに対してトリミング。
imgobj.frameFittingOptions.leftCrop = 10;
» 5
textFrames[0]が唐突に登場しています。
.addメソッドはオブジェクトそのものの返り値をもつので、それを使えばいいです。
かつ、タイポです。
FrameFittingOptionはframeFittingOptionsでなければなりません。
var pageobj = app.activeDocument.pages[0];
//新規フレームを1つ作り、座標に配置。
var imgobj = pageobj.rectangles.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
//上記で作成したフレームに画像を貼り付け。
var my_file = File.openDialog("画像ファイルを指定してください");
imgobj.place(my_file);
//その画像を貼り付けたフレームに対してトリミング。
imgobj.frameFittingOptions.leftCrop = 10;
[2538]Re: FrameFittingOption |
投稿者:せうぞー |
投稿日:2009/03/07(Sat) 14:08:12
あ、先に画像が存在するので、
fitを実行しないといけなかった。#動かしてなかった^^
最後の行にこれを足してください。
imgobj.fit(FitOptions.APPLY_FRAME_FITTING_OPTIONS);
» 6
fitを実行しないといけなかった。#動かしてなかった^^
最後の行にこれを足してください。
imgobj.fit(FitOptions.APPLY_FRAME_FITTING_OPTIONS);
[2539]Re: FrameFittingOption |
投稿者:よしひで |
投稿日:2009/03/07(Sat) 15:05:54
せうぞー様、たけうちとおる様
ありがとうございました。解決しました。
下記のソースで思い通りの動きを得ることができました。感謝です。
var pageobj = app.activeDocument.pages[0];
var imgobj = pageobj.rectangles.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
imgobj.place("C:/press/091t811.PDF");
imgobj.frameFittingOptions.leftCrop = 10;
imgobj.frameFittingOptions.topCrop = 10;
imgobj.fit(FitOptions.APPLY_FRAME_FITTING_OPTIONS);
もう少し基本的な部分を勉強しないといけないと痛感しました。
また、なにかありましたら宜しくお願い致します。
ありがとうございました。解決しました。
下記のソースで思い通りの動きを得ることができました。感謝です。
var pageobj = app.activeDocument.pages[0];
var imgobj = pageobj.rectangles.add();
imgobj.visibleBounds = ["110pt","40pt","820pt","650pt"];
imgobj.contentType = ContentType.graphicType;
imgobj.place("C:/press/091t811.PDF");
imgobj.frameFittingOptions.leftCrop = 10;
imgobj.frameFittingOptions.topCrop = 10;
imgobj.fit(FitOptions.APPLY_FRAME_FITTING_OPTIONS);
もう少し基本的な部分を勉強しないといけないと痛感しました。
また、なにかありましたら宜しくお願い致します。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)