-1

I would like to know how to draw a line on InDesign using Extended Script something like

pseudo code

for(x = 0; x < 5; x++){
    drawLine(The X Value to startLine, The Y-Value to startLine, Length, Color);
}

Any help would be greatly appreciated.

Thank you

Halvor Holsten Strand
  • 19,829
  • 17
  • 83
  • 99
user1275351
  • 41
  • 1
  • 1
  • 6

1 Answers1

1

Try this script. https://github.com/fabiantheblind/extendscript/wiki/Graphic-Lines.

var data = {
        "pw":100,
        "ph":100,
        "anchors":[
            [  0,50],
            [ 10,60],
            [ 20,40],
            [ 30,60],
            [ 40,40],
            [ 50,60],
            [ 60,40],
            [ 70,60],
            [ 80,40],
            [ 90,60],
            [100,50]
        ]
    };
// We need a doc.
// Use pw and ph from data.
var doc = app.documents.add({
            documentPreferences:{
                pageHeight:data.ph,
                pageWidth:data.pw
            }
    }); 
// The page is already there.
var page = doc.pages.item(0);
// Create a graphicLine.
var gl = page.graphicLines.add(); 
// Loop through the data.anchors.
for(var i in data.anchors){
    var point = gl.paths[0].pathPoints[i];
    /**
     * a graphicLine always has 2 path points
     * so we need to add points only from the third
     * anchor from the data object
     */
    if(i < 2){
        point.anchor = data.anchors[i];
    }else{
        point = gl.paths[0].pathPoints.add();
        point.anchor =  data.anchors[i];
     }
         if((i != data.anchors.length - 1)&& i!=0)
        point.rightDirection = data.anchors[i-1];
        point.leftDirection = data.anchors[i];
    } 
fabianmoronzirfas
  • 4,091
  • 4
  • 24
  • 41