GettingStarted
Illustrator JavaScript 5
8. Each element in the collection is an object of the desired type, and you can access its properties. To get
an object’s name, for example, use the
name
property:
var styleName = lastStyle.name;
9. To apply
lastStyle
to the first
pageItem
in the document, use its
applyTo
method:
lastStyle.applyTo( app.activeDocument.pageItems[0] );
10. To reference the first pathItem in the active document use the pathItems collection:
pathRef = app.activeDocument.pathItems[0];
11. A
pathItem
is made up of path points. Hence to access the points in the
pathRef
object:
pathRefPoints = pathRef.pathPoints;
a. To get the type of the point use the
pointType
property:
alert ( pathRefPoints[0].pointType );
12. Save the file.
13. Run the script, as described in
above.
The alert boxes appear with total number of brushes and the pathItem’s PointType and and lastStyle is
applied to the first pageItem in the document.
You can use this technique to access raster items, groups, items within a group, gradients, colors,
textFrames, and other object types in a document and manipulate them needed.
Example 4: Creating New Objects
You can use a script to create new documents, and new objects, rather than accessing any existing
documents or objects. This script does not have to check whether a document is open and objects are
present, because it creates a new blank document and creates some objects in it.
This simple example creates some basic shapes in the first layer of the frontmost document and applies a
random graphic style to it. Each shape is defined by new
pathItem
objects.
1. Open a new blank document in your text editor, and save it as
Example3.js
.
2. Create a new blank Illustrator document.
// open a new blank document
var thisDoc = app.documents.add();
3. Create a new layer.
// add a new layer
var artLayer = thisDoc.layers.add();
4. Set the default stroke and fill settings for all the objects using the
app
object (the Illustrator
Application object that contains all other Illustrator objects).
// default stroke and fill settings
app.defaultStroked = true;
app.defaultFilled = true;