ページの上下左右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、最高じゃないですか笑
いや、何事もひとりでやっていくって大変ですね笑
(いいからやれよ)