根据几何边界内的页面大小使用 InDesign JS 创建图形线

Create a GraphicLine using InDesign JS based on Page Size withn the Geometric Bounds

我的总体目标是创建具有特定规格的裁剪标记。我曾尝试无休止地操纵 InDesign 附带的示例脚本。我现在正在尝试创建自己的裁剪标记,并努力充分理解使用 graphicLine 功能的几何方面。

以下是我目前的情况:

var myCropMarkLength = 15.12;
var myCropMarkOffset = 20.88;
var myCropMarkWidth = .25;
var myX1 = ([myDocument.documentPreferences.pageHeight - myDocument.documentPreferences.pageHeight]);
var myY1 = ([myDocument.documentPreferences.pageWidth - myDocument.documentPreferences.pageWidth]);
var myX2 = ([myDocument.documentPreferences.pageHeight]);
var myY2 = ([myDocument.documentPreferences.pageWidth]);
myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myX1, myY1, myX2, myY2 ];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

如果有人能帮我填写myX1,myY1,myX2,myY2那就太好了。我确信我遗漏了一些东西,但我应该能够在坐标中引用页面大小,因为这是确定坐标的方式。

最好的,约翰

我不想使用 CropMarks.JSX 脚本,因为它需要我在每次处理文档时创建一个矩形。我也在尝试构建一个脚本,可以定期应用于我所有的艺术文件,并在内部与我的团队共享。这将允许在裁剪标记长度、偏移量和笔划粗细方面在所有图稿中保持一致。我还希望裁剪标记基于页面高度和宽度。

我已经能够使用以下脚本开发裁剪标记。

myDocument = app.activeDocument;

//Change Unit of Meausre to Points
myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
var myCropMarkLength = 15.12;
var myCropMarkOffset = 20.88;
var myCropMarkWidth = .25;
var myPH = myDocument.documentPreferences.pageHeight;
var myPW = myDocument.documentPreferences.pageWidth;

//Upper Left Crop Mark Pair
myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH - myPH, (myPW - myPW) - myCropMarkOffset, myPH - myPH, (myPW - myPW) - (myCropMarkOffset + myCropMarkLength) ];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [(myPH - myPH) - myCropMarkOffset, myPW - myPW, (myPH - myPH)  - (myCropMarkOffset + myCropMarkLength), myPW - myPW];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

//Lower Left Crop Mark Pair
myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH, (myPW - myPW) - myCropMarkOffset, myPH, (myPW - myPW) - (myCropMarkOffset + myCropMarkLength) ];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH + myCropMarkOffset, myPW - myPW, myPH + (myCropMarkOffset + myCropMarkLength), myPW - myPW];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

//Upper Right Crop Mark Pair
myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH - myPH, myPW + myCropMarkOffset, myPH - myPH, myPW + (myCropMarkOffset + myCropMarkLength) ];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [(myPH - myPH ) - myCropMarkOffset, myPW, (myPH - myPH) - (myCropMarkOffset + myCropMarkLength), myPW];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

//Lower Right Crop Mark Pair
myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH, myPW + myCropMarkOffset, myPH, myPW + (myCropMarkOffset + myCropMarkLength) ];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

myOutsideGuide_Left = app.activeDocument.pages[0].graphicLines.add ();
myOutsideGuide_Left.geometricBounds = [myPH + myCropMarkOffset, myPW, myPH + (myCropMarkOffset + myCropMarkLength), myPW];
myOutsideGuide_Left.strokeWeight = myCropMarkWidth;

//Change Unit of Measure Back to Inches
myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.inches;
myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.inches;

我在创建此脚本时遇到的最大问题之一是确定边界是 [Y1,X1,Y2,X2],这与我认为的相反。

希望此代码可以帮助其他人创建基于页面大小的裁剪标记,但不能使用基于正在使用的工作流程的 InDesign 裁剪标记方法。