Javascript 使用InDesign JS根据页面大小在几何边界内创建GraphicLine

Javascript 使用InDesign JS根据页面大小在几何边界内创建GraphicLine,javascript,adobe-indesign,Javascript,Adobe Indesign,我的总体目标是创建具有特定规格的裁剪标记。我已经尝试过无限期地处理InDesign附带的示例脚本。我现在正在尝试创建自己的裁剪标记,并努力全面理解使用graphicLine功能的几何方面 以下是我到目前为止的情况: var myCropMarkLength = 15.12; var myCropMarkOffset = 20.88; var myCropMarkWidth = .25; var myX1 = ([myDocument.documentPreferences.pageHeight

我的总体目标是创建具有特定规格的裁剪标记。我已经尝试过无限期地处理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,那就太好了。我确信我遗漏了一些东西,但我应该能够在坐标中引用页面大小,因为这是如何确定坐标的


最好的,John,我不想使用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裁剪标记方法。

不使用内置裁剪标记的具体原因是什么?您的myOutsideGuide_应该精确绘制在何处?沿着页面的整个侧面?