Practice makes Perfect !

ExtendedScript素人です。同じ境遇の方、一緒に脱素人を目指しましょう!

Bounds! Bounds! Bounds!

ページの上下左右4辺の座標はBoundsで取得できるんですね。
知りませんでした。

A4のドキュメントを作成して

var doc = app.activeDocument.pages[0];
$.writeln(doc.bounds[0]); // 上
$.writeln(doc.bounds[1]); // 左
$.writeln(doc.bounds[2]); // 下
$.writeln(doc.bounds[3]); // 右

と入力すると
0
0
296.999999999461
209.999999999936
という結果が得られます。細かいことは気にせずに。

今までは作業中のページサイズの長方形フレームを作成するときは以下のスクリプトを実行していました。

var doc = app.activeWindow.activePage; // 作業中のページ
var rct = doc.rectangles.add();
rct.contentType = ContentType.graphicType;
w = app.activeDocument.documentPreferences.pageWidth;
h = app.activeDocument.documentPreferences.pageHeight;
rct.visibleBounds = ["0mm","0mm",h,w];

なにも考えてなかったのですが、これだと問題がありました。
例えばドキュメント設定でサイズをA4にしていた場合、どのページもA4であるなら問題がないのですが、途中で違うサイズのページが出てきた場合、上記スクリプトを実行すると、そのページにはページサイズのフレームではなくA4サイズのフレームが出来てしまうんですね。

なのでこういう場合も考慮してBoundsを使えばいいと思いました。

var doc = app.activeWindow.activePage;
var rct = doc.rectangles.add();
rct.geometricBounds = doc.bounds;
rct.contentType = ContentType.graphicType;

見た目もキレイでスッキリとしました。
bounds、最高じゃないですか笑

いや、何事もひとりでやっていくって大変ですね笑
(いいからやれよ)