Quantcast
Channel: Adobe Community : Popular Discussions - InDesign Scripting
Viewing all articles
Browse latest Browse all 15932

Setting the property Pattern Length for Dashed/DottedStrokeStyle [JS CS4]

$
0
0

I have attempted to create a custom stroke style. There is a property in the interface called Pattern Length which doesn't seem to have a counterpart in the InDesign CS4 (6.0) Object Model (DashedStrokeStyle entry):

 

Style as created in InDesign:

 

My code. First part to try and read a style's properties and see what InDesign uses (I know it's Dotted vs. Dashed, but the properties for these two types follow the same paradigm). Second part to create a custom style:

var thisDoc = app.activeDocument;
var thisPage = thisDoc.pages[0];

// Reading an existing style:
//
var thisPremadeStrokeStyle = thisDoc.dottedStrokeStyles.item("Crazy Dots");

$.writeln(thisPremadeStrokeStyle);
// outputs: resolve("/document[@name=\"test strokes.indd\"]/

$.writeln(thisPremadeStrokeStyle.toSource());
// outputs: dotted-stroke-style[@name=\"Crazy Dots\"]")

$.writeln(thisPremadeStrokeStyle.getElements());
// outputs: [object DottedStrokeStyle]

$.writeln(thisPremadeStrokeStyle.getElements().properties);
// outputs: undefined


// Writing a new custom stroke style
//
thisDoc.dashedStrokeStyles.add({name:"Crazy Dashes"});
var thisNewStrokeStyle = thisDoc.dashedStrokeStyles.item("Crazy Dashes");

//thisNewStrokeStyle.patternLength = "0.5i";
//   Object does not support the property or method "patternLength"
//
//thisNewStrokeStyle.length = "0.5i";
//   Object does not support the property or method "length"
//
//thisNewStrokeStyle.range = "0.5i";
//   Object does not support the property or method "range"
//
// ???
//
thisNewStrokeStyle.dashArray = [0,0.0625, 0.125,0.125, 0.375,0.125];
thisNewStrokeStyle.strokeCornerAdjustment = StrokeCornerAdjustment.DASHES_AND_GAPS;

 

Style as created with the above code:

 

The document I want to make is done entirely programmatically. I'm willing to create the styles in InDesign first, export to a StrokeStyles file and import back again to a programmatically created document (though there are problems with that approach), but wanted to see if there was some other solution first.


Viewing all articles
Browse latest Browse all 15932

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>