Adobe Illustrator CC 2015 Scripting Reference (2017) Reference: Java Script Cc2017 Ref En

User Manual: adobe Illustrator - CC (2017) - Scripting Reference: JavaScript Free User Guide for Adobe Illustrator Software, Manual

Open the PDF directly: View PDF PDF.
Page Count: 255

DownloadAdobe Illustrator CC 2015 Scripting Reference - (2017) Reference: Java Script Cc2017 Ref En
Open PDF In BrowserView PDF
ADOBE® ILLUSTRATOR® CC 2017

ADOBE ILLUSTRATOR CC 2017
SCRIPTING REFERENCE:
JAVASCRIPT

 2016 Adobe Systems Incorporated. All rights reserved.

Adobe Illustrator CC 2017 Scripting Reference: JavaScript
If this guide is distributed with software that includes an end user agreement, this guide, as well as the software
described in it, is furnished under license and may be used or copied only in accordance with the terms of such license.
Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written
permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law
even if it is not distributed with software that includes an end user license agreement.
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be
construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or
liability for any errors or inaccuracies that may appear in the informational content contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under
copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of
the copyright owner. Please be sure to obtain any permission required from the copyright owner.
Any references to company names in sample templates are for demonstration purposes only and are not intended to
refer to any actual organization.
Adobe, the Adobe logo, Acrobat, Flash, Illustrator, Macromedia, and Photoshop are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States and/or other countries.
JavaScript and all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Incorporated in the
United States and other countries.
All other trademarks are the property of their respective owners.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users.
The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of
“Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48
C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through
227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are
being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted
to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright
laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S.
Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the
provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act
of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR
Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding
sentence shall be incorporated by reference.

Contents
1

JavaScript Object Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Artboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Artboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Brush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Brushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
CharacterAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CharacterStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
CharacterStyles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CMYKColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
CompoundPathItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
CompoundPathItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
DocumentPreset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
EPSSaveOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ExportOptionsAutoCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
ExportOptionsFlash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
ExportOptionsGIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
ExportOptionsJPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
ExportOptionsPhotoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
ExportOptionsPNG8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
ExportOptionsPNG24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ExportOptionsSVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ExportOptionsTIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
FXGSaveOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
GradientColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
GradientStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3

Contents

4

GradientStops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
GraphicStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
GraphicStyles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
GraphItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
GraphItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
GrayColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
GroupItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
GroupItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
IllustratorSaveOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
ImageCaptureOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Ink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
InkInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
InsertionPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
InsertionPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
LabColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
LegacyTextItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
LegacyTextItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
MeshItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
MeshItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
NoColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
NonNativeItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
NonNativeItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
OpenOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
OpenOptionsAutoCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
OpenOptionsFreeHand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
OpenOptionsPhotoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
PageItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
PageItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Paper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
PaperInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
ParagraphAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Paragraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
ParagraphStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ParagraphStyles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Contents

5

PathItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
PathItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
PathPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
PathPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
PatternColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
PDFFileOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
PDFSaveOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
PhotoshopFileOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
PlacedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
PlacedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
PluginItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
PluginItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PPDFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PPDFileInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
PrintColorManagementOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
PrintColorSeparationOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
PrintCoordinateOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
PrinterInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
PrintFlattenerOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
PrintFontOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
PrintJobOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
PrintOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
PrintPageMarksOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
PrintPaperOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
PrintPostScriptOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
RasterEffectOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
RasterItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
RasterItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
RasterizeOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
RGBColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
ScreenInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
ScreenSpotFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Spot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Contents

6

SpotColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Spots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Story . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Stories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Swatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Swatches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
SwatchGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
SwatchGroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
SymbolItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
SymbolItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
TabStopInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
TextFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
TextFonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
TextFrameItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
TextFrameItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
TextPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
TextRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
TextRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
TracingObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
TracingOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

2

Scripting Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

1

JavaScript Object Reference
This section presents all of the object classes in the type library. Each class listing includes the following:


Properties of the class, including value type, read-only status, and an explanation.



Methods for the class. Constants and value types needed by the method are shown in bold face.
Required terms are shown in plain face. All items surrounded by brackets [ ] are optional.



Notes to explain special issues.



Sample code to help illustrate the syntax and typical workflow usage of the object class.
These examples are intended to be clear demonstrations of syntax, and do not show the best or most
efficient way to construct a JavaScript script. Error checking, for instance, is generally brief or missing.
However, the examples can be combined and expanded to make scripts with greater functionality.

7

CHAPTER 1: JavaScript Object Reference

Application

Application
The Adobe® Illustrator® application object, referenced using the pre-defined global app object, which
contains all other Illustrator objects.

Application properties
Property

Value type

What it is

activeDocument

Document

The active (frontmost) document in Illustrator.

browserAvailable

boolean

Read-only. If true, a web browser is available.

buildNumber

string

Read-only. The application’s build number.

colorSettingsList

object

Read-only. The list of color-settings files currently
available for use.

coordinateSystem

CoordinateSystem

The coordinate system currently in use,
document or artboard.

defaultColorSettings

File

Read-only. The default color-settings file for the
current application locale.

documents

Documents

Read-only. The documents in the application.

flattenerPresetList

object

Read-only. The list of flattener style names
currently available for use.

freeMemory

number (long)

Read-only. The amount of unused memory (in
bytes) within the Illustrator partition.

locale

string

Read-only. The application’s locale.

name

string

Read-only. The application’s name (not related to
the filename of the application file).

pasteRememberLayers

boolean

Read-only. If true, the paste operation maintains
the layer structure.

path

File

Read-only. The file path to the application.

PDFPresetsList

object

Read-only. The list of preset PDF-options names
available for use.

PPDFileList

object

Read-only. The list of PPD files currently available
for use.

preferences

Preferences

Illustrator’s preference settings.

printerList

array of Printer

Read-only. The list of installed printers.

printPresetsList

object

Read-only. The list of preset printing-options
names available for use.

scriptingVersion

string

Read-only. The version of the Scripting plug-in.

8

CHAPTER 1: JavaScript Object Reference

Application

Property

Value type

What it is

selection

array of objects

All currently selected objects in the active
(frontmost) document.

startupPresetsList

object

Read-only. The list of presets available for
creating a new document.

textFonts

TextFonts

Read-only. The installed fonts.

tracingPresetList

array of string

Read-only. The list of preset tracing-options
names available for use.

typename

string

Read-only. The class name of the referenced
object.

userInteractionLevel

UserInteractionLevel

What level of interaction with the user should be
allowed when handling script commands.

version

string

Read-only. The application’s version.

visible

boolean

Read-only. If true, the application is visible.

Application methods
Method

Parameter type

beep
()

Returns

What it does

nothing

Alerts the user.

Matrix

Joins two matrices together.

Matrix

Joins a rotation translation to a
transformation matrix.

Matrix

Concatenates a scale translation to
a transformation matrix.

Matrix

Joins a translation to a
transformation matrix.

concatenateMatrix
(matrix,
secondMatrix)

Matrix
Matrix

concatenateRotationMatrix
(matrix,
angle)

Matrix
number (double)

concatenateScaleMatrix
(matrix
[,scaleX]
[,scaleY])

Matrix
number (double)
number (double)

concatenateTranslationMatrix
(matrix
[,deltaX]
[,deltaY])

Matrix
number (double)
number (double)

convertSampleColor
(sourceColorSpace,
sourceColor,
destColorSpace,
colorConvertPurpose
[,sourceHasAlpha]
[,destHasAlpha])

array of
ImageColorSpace
ColorComponents
ColorComponents
ImageColorSpace
ColorConvertPurpose
boolean
boolean

copy
()

nothing

Converts a sample-component
color from one color space to
another.

Copies current selection to the
clipboard.

9

CHAPTER 1: JavaScript Object Reference

Method

Application

Parameter type

cut
()
deleteWorkspace()
(workspaceName)

Returns

What it does

nothing

Cuts current selection to the
clipboard.

Boolean

Deletes an existing workspace.

Matrix

Returns an identity matrix.

Boolean

Returns if the specified filePath is
open

PPDFileInfo

Gets detailed file information for
specified PPD file.

File

Returns the full path to the
application’s default document
profile for the specified preset
type.

DocumentPreset

Retrieves the tracing-option
settings from the template with a
given preset name.

Matrix

Returns a transformation matrix
containing a single rotation.

string

getIdentityMatrix
()
getIsFileOpen
(filePath)

string

getPPDFileInfo
(name)

string

getPresetFileOfType
(presetType)

DocumentPresetType

getPresetSettings
(preset)

string

getRotationMatrix
([angle])

number (double)

NOTE: Requires a value in degrees.
For example, 30 rotates the object
30 degrees counterclockwise; -30
rotates the object 30 degrees
clockwise.
getScaleMatrix
([scaleX]
[, scaleY])

Matrix
number (double)
number (double)

Returns a transformation matrix
containing a single scale.
NOTE: Requires a value in
percentage. For example, 60 scales
the object to 60% of its original
size; 200 doubles the object’s
bounds.

getScriptableHelpGroup
()

getTranslationMatrix
([deltaX]
[, deltaY])

number (double)
number (double)

variant

Gets the scriptable help group
object that represents the search
widget in the app bar.

Matrix

Returns a transformation matrix
containing a single translation.
NOTE: Requires a value in points.
For example, ({100,200} moves the
object 100 pt. to the right and 200
pt. up; a minus before each
number moves the object left and
down.

10

CHAPTER 1: JavaScript Object Reference

Application

Method

Parameter type

invertMatrix
(matrix)

Matrix

isEqualMatrix
(matrix,
secondMatrix)

Matrix
Matrix

isSingularMatrix
(Matrix)

Matrix

loadColorSettings
(fileSpec)

File

open
(file
[, documentColorSpace]
[, options])

Returns

What it does

Matrix

Inverts a matrix.

boolean

Checks whether the two matrices
are equal.

boolean

Checks whether a matrix is singular
and cannot be inverted.

nothing

Loads color settings from specified
file, or, if file is empty, turns color
management off.

Document

Opens the specified document file.

File
DocumentColorSpace

If you open a pre-Illustrator 9
document that contains both
RGB and CMYK colors and
documentColorSpace is supplied,
all colors are converted to the
specified color space. If the
parameter is not supplied,
Illustrator opens a dialog so the
user can choose the color space.

anything

paste()

nothing

Pastes current clipboard content
into the current document.

quit
()

nothing

Quits Illustrator. Note that if the
clipboard contains data, Illustrator
may show a dialog prompting the
user to save the data for other
applications.

redo()

nothing

Redoes the most recently undone
transaction.

redraw
()

nothing

Forces Illustrator to redraw all its
windows.

resetWorkspace()
()

Boolean

Resets the current workspace.

Boolean

Saves a new workspace.

string

Sends a plug-in-defined command
message to a plug-in with given
input arguments, and returns the
plug-in-defined result string.

PrintPresetList

Gets presets from the file.

saveWorkspace()
(workspaceName)

string

sendScriptMessage
(pluginName,
messageSelector,
inputString)

string
string
string

showPresets
(fileSpec)

File

11

CHAPTER 1: JavaScript Object Reference

Application

Method

Parameter type

switchWorkspace()
(workspaceName)

string

translatePlaceholderText
(text)

string

undo()

Returns

What it does

Boolean

Switches to the specified
workspace.

string

Translates the placeholder text to
regular text (a way to enter
Unicode points in hex values).

nothing

Undoes the most recent
transaction.

Duplicating the active document
// Duplicates any selected items from
// the active document into a new document.
var newItem;
var docSelected = app.activeDocument.selection;
if ( docSelected.length > 0 ) {
// Create a new document and move the selected items to it.
var newDoc = app.documents.add();
if ( docSelected.length > 0 ) {
for ( i = 0; i < docSelected.length; i++ ) {
docSelected[i].selected = false;
newItem = docSelected[i].duplicate( newDoc,
ElementPlacement.PLACEATEND );
}
}
else {
docSelected.selected = false;
newItem = docSelected.parent.duplicate( newDoc,
ElementPlacement.PLACEATEND );
}
}
else {
alert( "Please select one or more art objects" );
}

12

CHAPTER 1: JavaScript Object Reference

Artboard

13

Artboard
An Artboard object represents a single artboard in a document. There can be between 1 to 100 artboards
in one document.

Artboard properties
Property

Value type

What it is

artboardRect

rect

Size and position of the artboard.

name

string

The unique identifying name of the artboard.

parent

Document

Read-only. The parent of this object.

rulerOrigin

Point

Ruler origin of the artboard, relative to the top left corner of the
artboard.

rulerPAR

number (double)

Pixel aspect ratio, used in ruler visualization if the units are
pixels. Range: 0.1 to 10.0

showCenter

boolean

Show center mark.

showCrossHairs

boolean

Show cross hairs.

showSafeAreas

boolean

Show title and action safe areas (for video).

typename

string

Read-only. The class name of this object.

Artboards methods
Method
remove
()

Parameter type Returns
Nothing

What it does
Deletes this artboard object. You
cannot remove the last artboard in a
document.

CHAPTER 1: JavaScript Object Reference

Artboards

14

Artboards
A collection of Artboard objects.

Artboards properties
Property

Value type

What is it

length

number

Read-only. The number of datasets in the collection

parent

Artboard

Read-only. The name of the object that contains this dataset

typename

string

Read-only. The class name of the referenced object.

Artboards methods
Method

Parameter type Returns

add
(artboardRect)

rect

getActiveArtboardIndex
()

getByName
(name)

string

insert
(artboardRect,
index)

rect
number (long)

What it does

Artboard

Creates a new Artboard object.

number (long)

Retrieves the index position of the
active artboard in the document's list.
Returns the 0-based index.

Artboard

Gets the first element in the
collection with the specified name.

Nothing

Creates a new Artboard object and
inserts it at the given index in the list.

remove
(index)

number (long)

Nothing

Deletes an artboard object. You
cannot remove the last artboard in a
document.

setActiveArtboardIndex
(index)

number (long)

Nothing

Makes a specific artboard active and
makes it current in the iteration order.

CHAPTER 1: JavaScript Object Reference

Brush

15

Brush
A brush in an Illustrator document. Brushes are contained in documents. Additional brushes may be
created by the user within Illustrator. You can access brushes within a script, but you cannot create them.

Brush properties
Property

Value type

What it is

name

string

The name of the brush.

parent

Document

Read-only. The document that contains this brush.

typename

string

Read-only. The class name of the referenced object.

Brush methods
Method

Parameter type

applyTo
(artItem)

PageItem

Returns

What it does

Nothing

Applies the brush to a specific art item.

Applying a brush
// Duplicates and groups all items in the current selection,
// then applies the same brush to each item in the group
if ( app.documents.length > 0 ) {
docSelection = app.activeDocument.selection;
if ( docSelection.length > 0 ) {
newGroup = app.activeDocument.groupItems.add();
for ( i = 0; i < docSelection.length; i++ ) {
newItem = docSelection[i].duplicate();
newItem.moveToBeginning( newGroup );
}
brush4 = app.activeDocument.brushes[1];
brush4.applyTo( newGroup );
}
}

CHAPTER 1: JavaScript Object Reference

Brushes

Brushes
A collection of brush objects in a document.

Brushes properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The document that contains this brushes collection.

typename

string

Read-only. The class name of the referenced object.

Brushes methods
Method

Parameter type

getByName
(name)

string

index
(itemKey)

string, number

Returns

What it does

Brush

Gets the first element in the collection with the specified
name.

Brush

Gets an element from the collection.

Counting brushes
// Counts all brushes in the active document
if ( app.documents.length > 0 ) {
numberOfBrushes = app.activeDocument.brushes.length;
}

16

CHAPTER 1: JavaScript Object Reference

CharacterAttributes

17

CharacterAttributes
Specifies the properties of a character contained in a text frame. A CharacterStyle object associates
these attributes with a specific text range through its characterAttributes property.
NOTE: Character attributes do not have default values, and are undefined until explicitly set.

CharacterAttributes properties
Property

Value type

What it is

akiLeft

number (double)

The amount of inter-character
spacing to be added to the left
side of the character, in
thousandths of an em (that
amount will not compress or
expand during full-justification).

akiRight

number (double)

The amount of inter-character
spacing to be added to the right
side of the character, in
thousandths of an em (that
amount will not compress or
expand during full-justification).

alignment

StyleRunAlignmentType

The character alignment type.

alternateGlyphs

AlternateGlyphsForm

The alternate glyphs form.

autoLeading

boolean

If true, the automatic leading
should be used.

baselineDirection

BaselineDirectionType

The Japanese text baseline
direction.

baselinePosition

FontBaselineOption

The baseline position of text.

baselineShift

number (double)

The amount of shift in points of
the text baseline.

capitalization

FontCapsOption

The case of text.

connectionForms

boolean

If true, the OpenType®
connection forms should be
used.

contextualLigature

boolean

If true, the contextual ligature
should be used.

discretionaryLigature

boolean

If true, the discretionary
ligature should be used.

figureStyle

FigureStyleType

The number style in an
OpenType font.

fillColor

Color

The color of the text fill.

CHAPTER 1: JavaScript Object Reference

CharacterAttributes

Property

Value type

What it is

fractions

boolean

If true, the OpenType fractions
should be used.

horizontalScale

number (double)

The character horizontal scaling
factor expressed as a
percentage (100 = 100%).

italics

boolean

If true, the Japanese OpenType
font supports italics.

kerningMethod

AutoKernType

The automatic kerning method
to use.

language

LanguageType

The language of text.

leading

number (double)

The amount of space between
two lines of text, in points.

ligature

boolean

If true, the ligature should be
used.

noBreak

boolean

If true, line breaks are not
allowed.

openTypePosition

FontOpenTypePositionOption

The OpenType baseline
position.

ordinals

boolean

If true, the OpenType ordinals
should be used.

ornaments

boolean

If true, the OpenType
ornaments should be used.

overprintFill

boolean

If true, the fill of the text should
be overprinted.

overprintStroke

boolean

If true, the stroke of the text
should be overprinted.

parent

object

Read-only. The object’s
container.

proportionalMetrics

boolean

If true, the Japanese OpenType
font supports proportional
glyphs.

rotation

number (double)

The character rotation angle in
degrees.

size

number (double)

Font size in points.

strikeThrough

boolean

If true, characters use
strike-through style.

strokeColor

Color

The color of the text stroke.

strokeWeight

number (double)

Line width of stroke.

18

CHAPTER 1: JavaScript Object Reference

CharacterAttributes

Property

Value type

What it is

stylisticAlternates

boolean

If true, the OpenType stylistic
alternates should be used.

swash

boolean

If true, the OpenType swash
should be used.

tateChuYokoHorizontal

number (long)

The Tate-Chu-Yoko horizontal
adjustment in points.

tateChuYokoVertical

number (long)

The Tate-Chu-Yoko vertical
adjustment in points.

textFont

TextFont

The text font.

titling

boolean

If true, the OpenType titling
alternates should be used.

tracking

number (long)

The tracking or range kerning
amount, in thousandths of an
em.

Tsume

number (double)

The percentage of space
reduction around a Japanese
character.

typename

string

Read-only. The class name of
the object.

underline

boolean

If true, characters are
underlined.

verticalScale

number (double)

Character vertical scaling factor
expressed as a percentage (100
= 100%).

wariChuCharactersAfterBreak

number (long)

Specifies how the characters in
Wari-Chu text (an inset note in
Japanese text) are divided into
two or more lines.

wariChuCharactersBeforeBreak

number (long)

Specifies how the characters in
Wari-Chu text (an inset note in
Japanese text) are divided into
two or more lines.

wariChuEnabled

boolean

If true, Wari-Chu is enabled.

wariChuJustification

WariChuJustificationType

The Wari-Chu justification.

wariChuLineGap

number (long)

The Wari-Chu line gap.

wariChuLines

number (long)

The number of Wari-Chu
(multiple text lines fit into a
space meant for one) lines.

wariChuScale

number (double)

The Wari-Chu scale.

19

CHAPTER 1: JavaScript Object Reference

CharacterAttributes

Setting character attributes
// Creates a new document, adds a simple text item
// then incrementally increases the horizontal and
// vertical scale attributes of each character
var docRef = documents.add();
var textRef = docRef.textFrames.add();
textRef.contents = "I Love Scripting!";
textRef.top = 400;
textRef.left = 100;
// incrementally increase the scale of each character
var charCount = textRef.textRange.characters.length;
var size = 100;
for(i=0; i 0 ) {
var doc = app.activeDocument;
var numChars = 0;
for ( i = 0; i < doc.textFrames.length; i++ ) {
textArtRange = doc.textFrames[i].contents;
numChars += textArtRange.length;
}
}

CHAPTER 1: JavaScript Object Reference

CharacterStyle

CharacterStyle
Associates character attributes with characters. For an example, see CharacterStyles.

CharacterStyle properties
Property

Value type

What it is

characterAttributes

CharacterAttributes

Read-only. The character properties for the style.

name

string

The character style’s name.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

CharacterStyle methods
Method

Parameter type

applyTo
(textItem
[,clearingOverrides])

object

remove
()

Returns

What it does

Nothing

Applies the character style to the text
object or objects.

Nothing

Deletes the object.

boolean

22

CHAPTER 1: JavaScript Object Reference

CharacterStyles

CharacterStyles
A collection of CharacterStyle objects.

CharacterStyles properties
Property

Value type

What it is

length

number

Read-only. Number of elements in the collection.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

CharacterStyles methods
Method

Parameter type

add
(name)

string

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

CharacterStyle

Creates a named character style.

CharacterStyle

Gets the first element in the collection with the
provided name.

CharacterStyle

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Using characters styles
// Creates 3 text frames in a new document then creates
// a character style and applies it to each text frame.
var docRef = documents.add();
var textRef1 = docRef.textFrames.add();
textRef1.contents = "Scripting is fun!";
textRef1.top = 700;
textRef1.left = 50;
var textRef2 = docRef.textFrames.add();
textRef2.contents = "Scripting is easy!";
textRef2.top = 625;
textRef2.left = 100;
var textRef3 = docRef.textFrames.add();
textRef3.contents = "Everyone should script!";
textRef3.top = 550;
textRef3.left = 150;
redraw();
// Create a new character style
var charStyle = docRef.characterStyles.add("BigRed");

23

CHAPTER 1: JavaScript Object Reference

// set character attributes
var charAttr = charStyle.characterAttributes;
charAttr.size = 40;
charAttr.tracking = -50;
charAttr.capitalization = FontCapsOption.ALLCAPS;
var redColor = new RGBColor();
redColor.red = 255;
redColor.green = 0;
redColor.blue = 0;
charAttr.fillColor = redColor;
// apply to each textFrame in the document
charStyle.applyTo(textRef1.textRange);
charStyle.applyTo(textRef2.textRange);
charStyle.applyTo(textRef3.textRange);

CharacterStyles

24

CHAPTER 1: JavaScript Object Reference

CMYKColor

25

CMYKColor
A CMYK color specification, used where a color object is required.
If the color space of a document is RGB and you specify the color value for a page item in that document
using CMYK, Illustrator will translate the CMYK color specification into an RGB color specification. The same
thing happens if the document’s color space is CMYK and you specify colors using RGB. Since this
translation can lose information, you should specify colors using the class that matches the document’s
actual color space.

CMYKColor properties
Property

Value type

What it is

black

number (double)

The black color value. Range 0.0–100.0. Default: 0.0

cyan

number (double)

The cyan color value. Range 0.0–100.0. Default: 0.0

magenta

number (double)

The magenta color value. Range 0.0–100.0. Default: 0.0

typename

string

Read-only. The class name of the referenced object.

yellow

number (double)

The yellow color value. Range 0.0–100.0. Default: 0.0

Setting a CMYK color
// Sets the fill color of the frontmost path item in
// the current document to a light purple CMYK color
if ( app.documents.length > 0 && app.activeDocument.pathItems.length > 0) {
frontPath = app.activeDocument.pathItems[0];
// Set color values for the CMYK object
newCMYKColor = new CMYKColor();
newCMYKColor.black = 0;
newCMYKColor.cyan = 30.4;
newCMYKColor.magenta = 32;
newCMYKColor.yellow = 0;
// Use the color object in the path item
frontPath.filled = true;
frontPath.fillColor = newCMYKColor;
}

CHAPTER 1: JavaScript Object Reference

Color
An abstract parent class for all color classes used in Illustrator. Subclasses are:
CMYKColor
GradientColor
GrayColor
LabColor
NoColor
PatternColor
RGBColor
SpotColor

Color

26

CHAPTER 1: JavaScript Object Reference

CompoundPathItem

27

CompoundPathItem
A compound path. These objects are composed of multiple intersecting paths, resulting in transparent
interior spaces where the component paths overlap. The pathItems property provides access to the paths
that make up the compound path.
Paths contained within a compound path or group in a document are returned as individual paths when a
script asks for the paths contained in the document. However, paths contained in a compound path or
group are not returned when a script asks for the paths in a layer that contains the compound path or
group.
All paths within a compound path share property values. Therefore, if you set the value of a property of
any one of the paths in the compound path, the properties of all other component paths are updated with
the new value.

CompoundPathItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so, what
kind of knockout.

blendingMode

BlendModes

The mode used when compositing an object.

controlBounds

array of
4 numbers

Read-only. The bounds of the object including stroke
width and controls.

editable

boolean

Read-only. If true, this item is editable.

geometricBounds

array of
4 numbers

Read-only. The bounds of the object excluding stroke
width.

height

number(double)

The height of the compound path item excluding stroke
width.

hidden

boolean

If true, this compound path item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this compound path item
belongs.

left

number(double)

The position of the left side of the item (in points,
measured from the left side of the page).

locked

boolean

If true, this compound path item is locked.

name

string

The name of this compound path item.

note

string

The note assigned to this item.

opacity

number (double)

The opacity of the object. Range: 0.0 to 100.0

parent

Layer or
GroupItem

Read-only. The parent of this object.

pathItems

PathItems

Read-only. The path art items in this compound path.

CHAPTER 1: JavaScript Object Reference

CompoundPathItem

Property

Value type

What it is

position

array of
2 numbers

The position (in points) of the top left corner of the
compoundPathItem object in the format [x, y]. Does not
include stroke weight.

selected

boolean

If true, this compound path item is selected.

sliced

boolean

If true, the item is sliced. Default: false

tags

Tags

Read-only. The tags contained in this object.

top

number (double)

The position of the top of the item (in points, measured
from the bottom of the page).

typename

string

Read-only. Read-only. The class name of the referenced
object.

uRL

string

The value of the Adobe URL tag assigned to this
compound path item.

visibilityVariable

Variant

The visibility variable bound to the item.

visibleBounds

array of
4 numbers

Read-only. The visible bounds of the compound path item
including stroke width.

width

number (double)

The width of the compound path item excluding stroke
width.

wrapInside

boolean

If true, the text frame object should be wrapped inside
this object.

wrapOffset

number (double)

The offset to use when wrapping text around this object.

wrapped

boolean

If true, wrap text frame objects around this object (text
frame must be above the object).

zOrderPosition

number (long)

Read-only. The position of this art item within the stacking
order of the group or layer (Parent) that contains the art
item.

28

CHAPTER 1: JavaScript Object Reference

CompoundPathItem

CompoundPathItem methods
Method

Parameter type

Returns

What it does

duplicate
([relativeObject]
[,insertionLocation])

object

CompoundPath Creates a duplicate of the
Item
selected object.

move
(relativeObject,
insertionLocation)

object

ElementPlacement

Nothing

Moves the object.

Nothing

Deletes this object.

Nothing

Scales the art item where
scaleX is the horizontal
scaling factor and scaleY
is the vertical scaling
factor. 100.0 = 100%.

Nothing

Rotates the art item
relative to the current
rotation. The object is
rotated
counter-clockwise if the
angle value is positive,
clockwise if the value is
negative.

Nothing

Transforms the art item
by applying a
transformation matrix.

Nothing

Repositions the art item
relative to the current
position, where deltaX is
the horizontal offset and
deltaY is the vertical
offset.

Nothing

Arranges the art item’s
position in the stacking
order of the group or
layer (parent) of this
object.

ElementPlacement

remove
()
resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

29

CHAPTER 1: JavaScript Object Reference

CompoundPathItem

Selecting paths in a document
// Selects all paths not part of a compound path
if ( app.documents.length > 0 ) {
doc = app.activeDocument;
count = 0;
if ( doc.pathItems.length > 0 ) {
thePaths = doc.pathItems;
numPaths = thePaths.length;
for ( i = 0; i < doc.pathItems.length; i++ ) {
pathArt = doc.pathItems[i];
if ( pathArt.parent.typename != "CompoundPathItem" ) {
pathArt.selected = true;
count++;
}
}
}
}

Creating and modifying a compound path item
// Creates a new compound path item containing 3 path
// items, then sets the width and the color of the stroke
// to all items in the compound path
if ( app.documents.length > 0 ) {
doc = app.activeDocument;
newCompoundPath = doc.activeLayer.compoundPathItems.add();
// Create the path items
newPath = newCompoundPath.pathItems.add();
newPath.setEntirePath( Array( Array(30, 50), Array(30, 100) ) );
newPath = newCompoundPath.pathItems.add();
newPath.setEntirePath( Array( Array(40, 100), Array(100, 100) ) );
newPath = newCompoundPath.pathItems.add();
newPath.setEntirePath( Array( Array(100, 110), Array(100, 300) ) );
// Set stroke and width properties of the compound path
newPath.stroked = true;
newPath.strokeWidth = 3.5;
newPath.strokeColor = app.activeDocument.swatches[3].color;
}

30

CHAPTER 1: JavaScript Object Reference

CompoundPathItems

CompoundPathItems
A collection of CompoundPathItem objects.

CompoundPathItem methods
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this collection (either a Layer or a GroupItem).

typename

string

Read-only. The class name of the referenced object.

CompoundPathItem methods
Method

Parameter type

add
()
getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

CompoundPathItem

Creates a new CompoundPathItem.

CompoundPathItem

Gets the first element in the collection with
the specified name.

CompoundPathItem

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Counting compound paths
// Counts all compound path items in layer 1 of the current document
if ( app.documents.length > 0 ) {
doc = app.activeDocument;
numCompoundPaths = doc.layers[0].compoundPathItems.length;
}

31

CHAPTER 1: JavaScript Object Reference

Dataset

32

Dataset
A set of data used for dynamic publishing. A dataset allows you to collect a number of variables and their
dynamic data into one object. You must have at least one variable bound to an art item in order to create a
dataset. See the class Variable.

Dataset properties
Property

Value type

What is it

name

string

Then name of the dataset.

parent

Document

Read-only. The name of the object that contains this dataset.

typename

string

Read-only. The class name of the referenced object.

Dataset methods
Method

Parameter type

Returns

What it does

display
()

Nothing

Displays the dataset.

remove
()

Nothing

Deletes this object.

update
()

Nothing

Updates the dataset.

Using variables and datasets
// Creates two variables, 1 visibility and 1 text,
// creates two datasets each with different values
// for the variables, then displays both datasets
var docRef = documents.add();
// Create visibility variable
var itemRef = docRef.pathItems.rectangle(600, 200, 150, 150);
var colorRef = new RGBColor;
colorRef.red = 255;
itemRef.fillColor = colorRef;
var visibilityVar = docRef.variables.add();
visibilityVar.kind = VariableKind.VISIBILITY;
itemRef.visibilityVariable = visibilityVar;
// Create text variable
var textRef = docRef.textFrames.add();
textRef.contents = "Text Variable, dataset 1";
textRef.top = 400;
textRef.left = 200;
var textVar = docRef.variables.add();
textVar.kind = VariableKind.TEXTUAL;

CHAPTER 1: JavaScript Object Reference

textRef.contentVariable = textVar;
redraw();
// Create dataset 1
var ds1 = docRef.dataSets.add();
// Change variable values and create dataset 2
itemRef.hidden = true;
textRef.contents = "Text Variable, dataset 2";
redraw();
var ds2 = docRef.dataSets.add();
// display each dataset
ds1.display();
redraw();
ds2.display();
redraw();

Dataset

33

CHAPTER 1: JavaScript Object Reference

Datasets

Datasets
A collection of Dataset objects.

Datasets properties
Property

Value type

What is it

length

number

Read-only. The number of datasets in the collection

parent

Document

Read-only. The name of the object that contains this dataset

typename

string

Read-only. Read-only. The class name of the referenced object.

Datasets methods
Method

Parameter type

add
()
getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

Dataset

Creates a new dataset object.

Dataset

Gets the first element in the collection with the
specified name.

Dataset

Gets an element from the collection.

Nothing

Removes all elements in the collection.

34

CHAPTER 1: JavaScript Object Reference

Document

Document
An Illustrator document. Documents are contained in the Application object.
The default document settings—those properties starting with the word “default”—are global settings
that affect the current document. Be sure to modify these default properties only when a document is
open. Note that if you set default properties to desired values before creating new objects, you can
streamline your scripts, eliminating the need to specify specific properties such as fillColor and
stroked that have default properties.
A document’s color space, height, and width can only be set when the document is created. You cannot
modify these properties in an existing document. See Application.open for more information on how
document color spaces are handled.

Document properties
Property

Value type

What it is

activeDataset

Dataset

The currently opened dataset.

activeLayer

Layer

The active layer in the document.

activeView

View

Read-only. The document’s current view.

artboards

Artboards

Read-only. All artboards in the document.

brushes

Brushes

Read-only. The brushes contained in the
document.

characterStyles

CharacterStyles

Read-only. The list of character styles in this
document.

compoundPathItems

CompoundPathItems

Read-only. The compound path items
contained in the document.

cropBox

array of 4 numbers

The boundary of the document’s cropping box
for output, or null if no value has been set.

cropStyle

CropOptions

The style of the document’s cropping box.

dataSets

Datasets

Read-only. The datasets contained in the
document.

defaultFillColor

Color

The color to use to fill new paths if
defaultFilled is true.

defaultFilled

boolean

If true, a new path should be filled.

defaultFillOverprint

boolean

If true, the art beneath a filled object should
be overprinted by default.

defaultStrokeCap

StrokeCap

Default type of line capping for paths created.

defaultStrokeColor

Color

The stroke color for new paths if default
stroked is true.

defaultStroked

boolean

If true, a new path should be stroked.

35

CHAPTER 1: JavaScript Object Reference

Document

Property

Value type

What it is

defaultStrokeDashes

object

Default lengths for dashes and gaps in dashed
lines, starting with the first dash length,
followed by the first gap length, and so on. Set
to an empty object, {}, for solid line.

defaultStrokeDashOffset

number (double)

The default distance into the dash pattern at
which the pattern should be started for new
paths.

defaultStrokeJoin

StrokeJoin

Default type of joints in new paths.

defaultStrokeMiterLimit

number (double)

When a default stroke join is set to mitered,
this property specifies when the join will be
converted to beveled (squared-off ) by default.
The default miter limit of 4 means that when
the length of the point reaches four times the
stroke weight, the join switches from a miter
join to a bevel join. Range: 1 to 500; a value of 1
specifies a bevel join.

defaultStrokeOverprint

boolean

If true, the art beneath a stroked object should
be overprinted by default.

defaultStrokeWidth

number (double)

Default width of stroke for new paths.

documentColorSpace

DocumentColorSpace

Read-only. The color specification system to
use for this document’s color space.

fullName

File

Read-only. The file associated with the
document, which includes the complete path
to the file.

geometricBounds

array of 4 numbers

Read-only. The bounds of the illustration
excluding the stroke width of any objects in the
document.

gradients

Gradients

Read-only. The gradients contained in the
document.

graphicStyles

GraphicStyles

Read-only. The graphic styles defined in this
document.

graphItems

GraphItems

Read-only. The graph art items in this
document.

groupItems

GroupItems

Read-only. The group items contained in the
document.

height

number (double)

Read-only. The height of the document.

inkList

object

Read-only. The list of inks in this document.

kinsokuSet

object

Read-only. The Kinsoku set of characters that
cannot begin or end a line of Japanese text.

36

CHAPTER 1: JavaScript Object Reference

Document

Property

Value type

What it is

layers

Layers

Read-only. The layers contained in the
document.

legacyTextItems

LegacyTextItems

Read-only. The legacy text items in the
document.

meshItems

MeshItems

Read-only. The mesh art items contained in the
document.

mojikumiSet

object

Read-only. A list of names of predefined
Mojikumi sets which specify the spacing for the
layout and composition of Japanese text.

name

string

Read-only. The document’s name (not the
complete file path to the document).

nonNativeItems

NonNativeItems

Read-only. The non-native art items in this
document.

outputResolution

number (double)

Read-only. The current output resolution for
the document in dots per inch (dpi).

pageItems

PageItems

Read-only. The page items (all art item classes)
contained in the document.

pageOrigin

array of 2 numbers

The zero-point of the page in the document
without margins, relative to the overall height
and width.

paragraphStyles

ParagraphStyles

Read-only. The list of paragraph styles in this
document.

parent

Application

Read-only. The application that contains this
document.

path

File

Read-only. The file associated with the
document, which includes the complete path
to the file.

pathItems

PathItems

Read-only. The path items contained in this
document.

patterns

Patterns

Read-only. The patterns contained in this
document.

placedItems

PlacedItems

Read-only. The placed items contained in this
document.

pluginItems

PluginItems

Read-only. The plug-in items contained in this
document.

printTiles

boolean

Read-only. If true, this document should be
printed as tiled output.

rasterEffectSettings

RasterEffectOptions

The document’s raster effect settings.

37

CHAPTER 1: JavaScript Object Reference

Document

Property

Value type

What it is

rasterItems

RasterItems

Read-only. The raster items contained in this
document.

rulerOrigin

array of 2 numbers

The zero-point of the rulers in the document
relative to the bottom left of the document.

rulerUnits

RulerUnits

Read-only. The default measurement units for
the rulers in the document.

saved

boolean

If true, the document has not been changed
since last time it was saved.

selection

array of objects

References to the objects in this document’s
current selection, or null when nothing is
selected.
A reference to an insertion point is returned
when there is an active insertion point in the
contents of a selected text art item. Similarly, a
reference to a range of text is returned when
characters are selected in the contents of a text
art item.

showPlacedImages

boolean

Read-only. If true, placed images should be
displayed in the document.

splitLongPaths

boolean

Read-only. If true, long paths should be split
when printing.

spots

Spots

Read-only. The spot colors contained in this
document.

stationery

boolean

Read-only. If true, the file is a stationery file.

stories

Stories

Read-only. The story items in this document.

swatches

Swatches

Read-only. The swatches in this document.

swatchGroups

SwatchGroups

Read-only. The swatch groups in this
document.

symbolItems

SymbolItems

Read-only. The art items in the document
linked to symbols.

symbols

Symbols

Read-only. The symbols in this document.

tags

Tags

Read-only. The tags in this document.

textFrames

TextFrameItems

Read-only. The text frames in this document.

tileFullPages

boolean

Read-only. If true, full pages should be tiled
when printing this document.

typename

string

Read-only. Read-only. The class name of the
referenced object.

38

CHAPTER 1: JavaScript Object Reference

Document

Property

Value type

What it is

useDefaultScreen

boolean

Read-only. If true, the printer’s default screen
should be used when printing this document.

variables

Variables

Read-only. The variables defined in this
document.

variablesLocked

boolean

If true, the variables are locked.

views

Views

Read-only. The views contained in this
document.

visibleBounds

array of 4 numbers

Read-only. The visible bounds of the
document, including stroke width of any
objects in the illustration.

width

number (double)

Read-only. The width of this document.

XMPString

string

The XMP metadata packet associated with this
document.

Document methods
Method

Parameter type

activate
()

arrange
([layoutStyle])

DocumentLayoutStyle

close
([saveOptions])

SaveOptions

Returns

What it does

Nothing

Brings the first window
associated with the
document to the front.

Boolean

Arranges multiple
documents in the given
layout style.

Nothing

Closes a document using
specified save options.
When you close a document,
you should set your
document reference to null
to prevent your script from
accidentally trying to access
closed documents.

closeNoUI
()
convertCoordinate
(coordinate,
source,
destination)

Point
CoordinateSystem
CoordinateSystem

Nothing

Closes the specified non-UI
document.

Point

Converts the given point
between artboard and
document coordinate
systems. Returns the
converted point coordinates.

39

CHAPTER 1: JavaScript Object Reference

Document

Method

Parameter type

Returns

What it does

exportFile
(exportFile,
exportFormat
[,options])

File
ExportType
variant

Nothing

Exports the document to the
specified file using one of the
predefined export file
formats. The appropriate file
extension is automatically
appended to the file name,
except for Photoshop®
documents. For these, you
must include the file
extension (PSD) in the file
specification.

exportPDFPreset
(file)

File

Nothing

Exports the current PDF
preset values to the file.

exportPerspectiveGridPreset
(file)

File

Nothing

Exports the current
perspective grid preset
values to the file.

exportPrintPreset
(file)

File

Nothing

Exports the current print
preset values to the file.

exportVariables
(fileSpec)

File

Nothing

Saves datasets into an XML
library. The datasets contain
variables and their associated
dynamic data.

fitArtboardToSelectedArt
([index])

number (long)

boolean

Resizes the artboard at the
given index to fit currently
selected art. Index default is
0. Returns true on success.

getPerspectiveActivePlane
()

Perspective
GridPlaneTy
pe

Retrieves the active plane of
the active perspective grid of
the document.

hidePerspectiveGrid
()

boolean

Hides the current active grid
for the document. If no grid is
visible, does nothing. Returns
true if a grid is hidden.

Nothing

Captures the artwork content
within the clipping
boundaries in this document
as a raster image, and writes
the image data to a specified
file.

imageCapture
(imageFile,
[clipBounds],
[options])

File
Rect
ImageCaptureOptions

If the bounds parameter is
omitted, captures the entire
artwork.
importCharacterStyles
(fileSpec)

Nothing
File

Loads the character styles
from the Illustrator file.

40

CHAPTER 1: JavaScript Object Reference

Document

Method

Parameter type

importParagraphStyles
(fileSpec)

File

importPDFPreset
(fileSpec
[, replacingPreset])

File
boolean

importPerspectiveGridPreset
(fileSpec
[, perspectivePreset])

File
String

importPrintPreset
(printPreset,
fileSpec)

string
File

importVariables
(fileSpec)

File

print
([options])

PrintOptions

rasterize
(sourceArt
[, clipBounds]
[, options])

variant
Rect
RasterizeOptions

rearrangeArboards
([artboardLayout,
artboardRowsOrCols,
artboardSpacing,
artboardMoveArtwork])

DocumentArtboardLayout
integer
Number
boolean

Returns

What it does

Nothing

Loads the paragraph styles
from the Illustrator file.

Nothing

Loads all PDF presets from a
file.

Nothing

Loads a specified perspective
grid preset, or, if preset not
specified, all presets from a
file.

Nothing

Loads the named print preset
from the file.

Nothing

Imports a library containing
datasets, variables, and their
associated dynamic data.
Importing variables
overwrites existing variables
and datasets.

Nothing

Prints the document.

RasterItem

Rasterizes the source art(s)
within the specified clip
bounds. The source art(s) is
disposed of as a result of the
rasterization.

boolean

Rearranges artboards in the
document. All arguments are
optional. Default layout style
is DocumentArtboard
Layout.GridByRow.
The second argument
specifies the number of rows
or columns, as appropriate
for the chosen layout style, in
the range
[1..docNumArtboards-1],
or 1 (the default) for single
row/column layouts.
Spacing is a number of pixels,
default 20.
When last argument is true
(the default), artwork is
moved with the artboards.

41

CHAPTER 1: JavaScript Object Reference

Method

Document

Parameter type

save
()
saveAs
(saveIn
[, options])

selectObjectsOnActiveArtboard
()

setActivePlane
(gridPlane)

PerspectiveGridPlaneType

selectPerspectivePreset
(gridType,
presetName)

PerspectiveGridType
string

showPerspectiveGrid
()

windowCapture
(imageFile,
windowSize)

What it does

Nothing

Saves the document in it
current location.

Nothing

Saves the document in the
specified file as an Illustrator,
EPS, or PDF file.

Nothing

Saves the non-UI document
at the specified path

boolean

Selects the objects on the
currently active artboard.
Returns true on success.

boolean

Sets the active plane of the
active perspective grid of the
document. Returns true on
success.

boolean

Selects a predefined preset to
define grid for the current
document. Returns true on
success.

boolean

Shows the current active grid
for the document, or if no
grid is active, shows the
default grid. Returns true on
success.

Nothing

Captures the current
document window to the
target TIFF image file.

File
SaveOptions
File

saveNoUI
(saveIn)

Returns

File
array of 2 numbers

Deselecting all objects in the current document
The frontmost document can be referred to as either activeDocument or documents[0].
var docRef = activeDocument;
docRef.selection = null;

Closing a document
// Closes the active document without saving changes
if ( app.documents.length > 0 ) {
aiDocument = app.activeDocument;
aiDocument.close( SaveOptions.DONOTSAVECHANGES );
aiDocument = null;
}

42

CHAPTER 1: JavaScript Object Reference

Creating a document with defaults
// Creates a new document if none exists
// then sets fill and stroke defaults to true
if ( app.documents.length == 0 ) {
doc = app.documents.add();
}
else {
doc = app.activeDocument;
}
doc.defaultFilled = true;
doc.defaultStroked = true;

Document

43

CHAPTER 1: JavaScript Object Reference

DocumentPreset

44

DocumentPreset
A preset document template to use when creating a new document. See Documents.addDocument().

DocumentPreset properties
Property

Value type

What it is

artboardLayout

DocumentArtboardLayout

The layout of artboards in the new
document. Default: GridByRow

artboardRowsOrCols

number (long)

The number of rows (for rows layout) or
columns (for column layout) of artboards.
Range: 1 to (numArtboards - 1) or 1 for
single row or column layouts. Default: 1

artboardSpacing

number (double)

The spacing between artboards in the new
document. Default: 20.0

colorMode

DocumentColorSpace

The color space for the new document.

documentBleedLink

Boolean

The document link for bleed values.

documentBleedOffsetR
ect

rectangle

The document bleed offset rectangle.

height

number (double)

The height in document points.
Default: 792.0

numArtboards

number (long)

The number of artboards for the new
document. Range: 1 to 100. Default: 1

previewMode

DocumentPreviewMode

The preview mode for the new document.

rasterResolution

DocumentRasterResolution The raster resolution for the new document.

title

string

transparencyGrid

DocumentTransparencyGrid The transparency grid color for the new

The document title.
document.

typename

string

Read-only. The class name of the referenced
object.

units

RulerUnits

The ruler units for the new document.

width

number (double)

The width in document points.
Default: 612.0

CHAPTER 1: JavaScript Object Reference

Documents

Documents
A collection of Document objects.

Documents properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

Documents methods
Method

Parameter type

add
([documentColorSpace]
[, width]
[, height]
[, numArtBoards]
[, artboardLayout]
[, artboardSpacing]
[, artboardRowsOrCols])

DocumentColorSpace
number (double)
number (double)
number (long)
DocumentArtboardLayout
number (double)
number (long)

addDocument
(startupPreset
[, presetSettings]
[, showOptionsDialog])

string
DocumentPreset
boolean

addDocumentNoUI
(startupPreset)

Returns

What it does

Document Creates a new document

using optional
parameters and returns a
reference to the new
document.

Document Creates a document

string

from the preset,
replacing any provided
setting values, and
returns a reference to the
new document.
Document Creates a document

without showing in UI

Document Gets the first element in

getByName
(name)

string

index
(itemKey)

string, number

the collection with the
specified name.
Document Gets an element from

Creating a new document
// Creates a new document with an RGB color space
app.documents.add( DocumentColorSpace.RGB );

the collection.

45

CHAPTER 1: JavaScript Object Reference

EPSSaveOptions

EPSSaveOptions
Options for saving a document as an Illustrator EPS file, used with the saveAs method. All properties are
optional.

EPSSaveOptions properties
Property

Value type

What it is

artboardRange

string

If saveMultipleArtboards is true, this
is considered for multi-asset extraction,
which specifies the artboard range. An
empty string extracts all the artboards.
Default: empty string

cmykPostScript

boolean

If true, use CMYK PostScript.

compatibility

Compatibility

Specifies the version of the EPS file
format to save. Default:
Compatibility.ILLUSTRATOR1719

compatibleGradientPrinting

boolean

If true, create a raster item of the
gradient or gradient mesh so that
PostScript Level 2 printers can print the
object. Default: false

embedAllFonts

boolean

If true, all fonts used by the document
should be embedded in the saved file
(version 7 or later). Default: false

embedLinkedFiles

boolean

If true, linked image files are to be
included in the saved document.

flattenOuput

OutputFlattening

How should transparency be flattened
for file formats older than Illustrator 9.

includeDocumentThumbnails

boolean

If true, thumbnail image of the EPS
artwork should be included.

overprint

PDFOverprint

Whether to preserve, discard, or
simulate the overprint. Default:
PDFOverprint.PRESERVEPDFOVERPRINT

postScript

EPSPostScriptLevelEnum

PostScript Language Level to use
(Level 1 valid for file format version 8 or
older). Default:
EPSPostScriptLevelEnum.LEVEL2

preview

EPSPreview

The format for the EPS preview image.

saveMultipleArtboards

boolean

If true, all artboards or range of
artboards are saved. Default: false

typename

string

Read-only. The class name of the
referenced object.

46

CHAPTER 1: JavaScript Object Reference

Exporting to EPS format
// Exports current document to destFile as an EPS file with specified
// options, destFile contains the full path including the file name
function exportFileAsEPS (destFile) {
var newFile = new File(destFile);
var saveDoc;
if ( app.documents.length == 0 )
saveDoc = app.documents.add();
else
saveDoc = app.activeDocument;
var saveOpts = new EPSSaveOptions();
saveOpts.cmykPostScript = true;
saveOpts.embedAllFonts = true;
saveDoc.saveAs( newFile, saveOpts );
}

EPSSaveOptions

47

CHAPTER 1: JavaScript Object Reference

ExportOptionsAutoCAD

48

ExportOptionsAutoCAD
Options for exporting a document as an AutoCAD file, used with the exportFile method. All properties are
optional.
When you export a document, a file extension is appended automatically. You should not include any file
extension in the file specification. To override the default AutoCAD export format (DWG), use the
exportFileFormat property.

ExportOptionsAutoCAD properties
Property

Value type

What it is

alterPathsForAppearance

boolean

If true, paths are altered if needed to
maintain appearance. Default: false

colors

AutoCADColors

The colors exported into the
AutoCAD file.

convertTextToOutlines

boolean

If true, text is converted to vector
paths; preserves the visual
appearance of type. Default: false

exportFileFormat

AutoCADExportFileFormat

The format to which the file is
exported. Default:
AutoCADExportFileFormat.DWG

exportOption

AutoCADExportOption

Specifies whether to preserve
appearance or editability during
export. Default:
AutoCADExportOption.
MaximizeEditability

exportSelectedArtOnly

boolean

If true, only selected artwork is
exported. Default: false

rasterFormat

AutoCADRasterFormat

The format in which raster art is
exported.

scaleLineweights

boolean

If true, line weights are scaled by the
same scaling factor as the rest of the
drawing. Default: false

typename

string

Read-only. The class name of the
referenced object.

unit

AutoCADUnit

The measurement units from which
to map.

CHAPTER 1: JavaScript Object Reference

ExportOptionsAutoCAD

Property

Value type

What it is

unitScaleRatio

number (double)

The ratio (as a percentage) by which
output is scaled. Range: 0 to 1000

version

AutoCADCompatibility

The release of AutoCAD to which the
file is exported. Default:
AutoCADCompatibility.AutoCADRe
lease24

49

CHAPTER 1: JavaScript Object Reference

ExportOptionsFlash

50

ExportOptionsFlash
Options for exporting a document as a Macromedia® Flash® (SWF) file, used with the exportFile method.
All properties are optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsFlash properties
Property

Value type

What it is

artClipping

ArtClippingOption

How the art should be clipped during output.
Default: ArtClippingOption.OUTPUTARTBOUNDS

artboardRange

string

If saveMultipleArtboards is true, this is
considered for multi-asset extraction, which
specifies the artboard range. An empty string
extracts all the artboards. Default: empty string

backgroundColor

RGBColor

The background color of the exported Flash
frames.

backgroundLayers

array of Layer

A list of layers to be included as the static
background of the exported Flash frames.

blendAnimation

BlendAnimationType

The animation type for blended objects. Default:
BlendAnimationType.NOBLENDANIMATION

compressed

boolean

If true, the exported file should be exported
compressed. Default: false

convertTextToOutlines

boolean

If true, all text is converted to vector paths;
preserves the visual appearance of type in all
Flash players. Default: false

curveQuality

number (long)

The amount of curve information that should be
presented. Default: 7

exportAllSymbols

boolean

If true, export all symbols defined in the palette.
Default: false

exportStyle

FlashExportStyle

The style in which the exported data should be
created in Flash.
Default: FlashExportStyle.ASFLASHFILE

exportVersion

FlashExportVersion

The version of the exported SWF file.
Default: FlashExportVersion.FlashVersion9.

frameRate

number (double)

The display rate in frames per second.
Range: 0.01–120.0. Default: 12.0

ignoreTextKerning

boolean

If true, ignore kerning information in text
objects. Default: false

CHAPTER 1: JavaScript Object Reference

ExportOptionsFlash

Property

Value type

What it is

imageFormat

FlashImageFormat

How should the image in the exported Flash file
be compressed.
Default: FlashImageFormat.LOSSLESS

includeMetadata

boolean

If true, include minimal XMP metadata in the
SWF file. Default: false

jpegMethod

FlashJPEGMethod

Specifies the JPEG method to use.
Default: FlashJPEGMethod.Standard

jpegQuality

number (long)

Level of compression to use. Range 1 to 10.
Default: 3

layerOrder

LayerOrderType

The order in which layers are exported to Flash
frames. Default: LayerOrderType.BOTTOMUP

looping

boolean

If true, the Flash file is set to loop when run.
Default: false

playbackAccess

FlashPlaybackSecurity

The access level for the exported SWF file.
Default:
FlashPlaybackSecurity.PlaybackLocal

preserveAppearance

boolean

If true, preserve appearance. If false, preserve
editability. Default: false

readOnly

boolean

If true, export as read-only file. Default: false

replacing

SaveOptions

If a file with the same name already exists, should
it be replaced.
Default: SaveOptions.PROMPTTOSAVECHANGES

resolution

number (double)

The resolution in pixels per inch. Range: 72–2400.
Default: 72

saveMultipleArtboards

boolean

If true, all artboards or range of artboards are
saved. Default: false

typename

string

Read-only. The class name of the referenced
object.

Exporting to Flash format
// Exports current document to destFile as a flash file with specified
// options, destFile contains the full path including the file name
function exportToFlashFile(destFile) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsFlash();
var type = ExportType.FLASH;
var fileSpec = new File(destFile);
exportOptions.resolution = 150;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

51

CHAPTER 1: JavaScript Object Reference

ExportOptionsGIF

52

ExportOptionsGIF
Options for exporting a document as a GIF file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsGIF properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image should be anti-aliased.
Default: true

artBoardClipping

boolean

If true, the exported image should be clipped to the
art board. Default: false

colorCount

number (long)

The number of colors in the exported image’s color
table. Range: 2 to 256. Default: 128

colorDither

ColorDitherMethod

The method used to dither colors in the exported
image. Default: ColorDitherMethod.DIFFUSION

colorReduction

ColorReductionMethod The method used to reduce the number of colors in

the exported image.
Default: ColorReductionMethod.SELECTIVE
ditherPercent

number (long)

How much should the colors of the exported image be
dithered, where 100.0 is 100%.

horizontalScale

number (double)

The horizontal scaling factor to apply to the exported
image, where 100.0 is 100%. Default: 100.0

infoLossPercent

number (long)

The level of information loss allowed during
compression, where 100.0 is 100%.

interlaced

boolean

If true, the exported image should be interlaced.
Default: false

matte

boolean

If true, the art board should be matted with a color.
Default: true

matteColor

RGBColor

The color to use when matting the art board.
Default: WHITE

saveAsHTML

boolean

If true, the exported image should be saved with an
accompanying HTML file. Default: false

transparency

boolean

If true, the exported image should use transparency.
Default: true

typename

string

Read-only. The class name of the referenced object.

CHAPTER 1: JavaScript Object Reference

ExportOptionsGIF

Property

Value type

What it is

verticalScale

number (double)

The vertical scaling factor to apply to the exported
image, where 100.0 is 100%. Default: 100.0

webSnap

number (long)

How much should the color table be changed to match
the web palette, where 100 is maximum. Default: 0

Exporting to GIF format
// Exports current document to dest as a GIF file with specified
// options, dest contains the full path including the file name
function exportToGIFFile(dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsGIF();
var type = ExportType.GIF;
var fileSpec = new File(dest);
exportOptions.antiAliasing = false;
exportOptions.colorCount = 64;
exportOptions.colorDither = ColorDitherMethod.DIFFUSION;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

53

CHAPTER 1: JavaScript Object Reference

ExportOptionsJPEG

54

ExportOptionsJPEG
Options for exporting a document as a JPEG file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsJPEG properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image should be anti-aliased.
Default: true

artBoardClipping

boolean

If true, the exported image should be clipped to the art
board.

blurAmount

number (double)

The amount of blur to apply to the exported image.
Range: 0.0 to 2.0. Default: 0.0

horizontalScale

number (double)

The horizontal scaling factor to apply to the exported
image, where 100.0 is 100%. Default: 100.0

matte

boolean

If true, the art board should be matted with a color.
Default: true

matteColor

RGBColor

The color to use when matting the art board.
Default: white

optimization

boolean

If true, the exported image should be optimized for web
viewing. Default: true

qualitySetting

number (long)

The quality of the exported image. Range: 0 to 100.
Default: 30

saveAsHTML

boolean

If true, the exported image should be saved with an
accompanying HTML file. Default: false

typename

string

Read-only. The class name of the referenced object.

verticalScale

number (double)

The vertical scaling factor to apply to the exported image.
Range: 0.0 to 776.19. Default: 100.0

CHAPTER 1: JavaScript Object Reference

ExportOptionsJPEG

Exporting to JPEG format
// Exports current document to dest as a JPEG file with specified
// options, dest contains the full path including the file name
function exportFileToJPEG (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsJPEG();
var type = ExportType.JPEG;
var fileSpec = new File(dest);
exportOptions.antiAliasing = false;
exportOptions.qualitySetting = 70;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

55

CHAPTER 1: JavaScript Object Reference

ExportOptionsPhotoshop

56

ExportOptionsPhotoshop
Options for exporting a document as a Photoshop file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsPhotoshop properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image should be anti-aliased.
Default: true

artboardRange

string

If saveMultipleArtboards is true, this is considered
for multi-asset extraction, which specifies the
artboard range. An empty string extracts all the
artboards. Default: empty string

editableText

boolean

If true, text objects should be exported as editable
text layers. Default: true

embedICCProfile

boolean

If true, an ICC profile should be embedded in the
exported file. Default: false

imageColorSpace

ImageColorSpace The color space of the exported file.
Default: ImageColorSpace.RGB

maximumEditability

boolean

Preserve as much of the original document’s structure
as possible when exporting. Default: true

resolution

number (double)

Resolution of the exported file in dots per inch (dpi).
Range: 72.0 to 2400.0. Default: 150.0

saveMultipleArtboards

boolean

If true, all artboards or range of artboards are saved.
Default: false

typename

string

Read-only. The class name of the referenced object.

warnings

boolean

If true, a warning dialog should be displayed in case
of conflicts in the export settings. Default: true

writeLayers

boolean

If true, the document layers should be presented in
the exported document. Default: true

CHAPTER 1: JavaScript Object Reference

ExportOptionsPhotoshop

Exporting to Photoshop format
// Exports current document to dest as a PSD file with specified
// options, dest contains the full path including the file name
function exportFileToPSD (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsPhotoshop();
var type = ExportType.PHOTOSHOP;
var fileSpec = new File(dest);
exportOptions.resolution = 150;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

57

CHAPTER 1: JavaScript Object Reference

ExportOptionsPNG8

58

ExportOptionsPNG8
Options for exporting a document as an 8-bit PNG file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsPNG8 properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image should be anti-aliased.
Default: true

artBoardClipping

boolean

If true, the exported image should be clipped to the
art board. Default: false

colorCount

number (long)

The number of colors in the exported image’s color
table. Range: 2 to 256. Default: 128

colorDither

ColorDitherMethod

The method used to dither colors in the exported
image. Default: ColorDitherMethod.Diffusion

colorReduction

ColorReductionMethod

The method used to reduce the number of colors in
the exported image.
Default: ColorReductionMethod.SELECTIVE

ditherPercent

number (long)

The amount (as a percentage) that the colors of the
exported image are dithered, where 100.0 is 100%.
Range: 0 to 100. Default: 88

horizontalScale

number (double)

The horizontal scaling factor to apply to the exported
image, where 100.0 is 100%. Default: 100.0

interlaced

boolean

If true, the exported image should be interlaced.
Default: false

matte

boolean

If true, the art board should be matted with a color.
Default: true

matteColor

RGBColor

The color to use when matting the art board.
Default: white

saveAsHTML

boolean

If true, the exported image be saved with an
accompanying HTML file. Default: false

transparency

boolean

If true, the exported image use transparency.
Default: true

typename

string

Read-only. The class name of the referenced object.

CHAPTER 1: JavaScript Object Reference

ExportOptionsPNG8

Property

Value type

What it is

verticalScale

number (double)

The vertical scaling factor to apply to the exported
image, where 100.0 is 100. Default: 100.0

webSnap

number (long)

Specifies how much the color table should be
changed to match the web palette, where 100 is
maximum. Default: 0

Exporting to PNG8 format
// Exports current document to dest as a PNG8 file with specified
// options, dest contains the full path including the file name
function exportFileToPNG8 (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsPNG8();
var type = ExportType.PNG8;
var fileSpec = new File(dest);
exportOptions.colorCount = 8;
exportOptions.transparency = false;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

59

CHAPTER 1: JavaScript Object Reference

ExportOptionsPNG24

60

ExportOptionsPNG24
Options for exporting a document as a 24-bit PNG file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsPNG24 properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image be anti-aliased. Default: true

artBoardClipping

boolean

If true, the exported image be clipped to the art board.
Default: false

horizontalScale

number (double)

The horizontal scaling factor to apply to the exported
image, where 100.0 is 100%. Default: 100.0

matte

boolean

If true, the art board be matted with a color.
Default: true

matteColor

RGBColor

The color to use when matting the art board.
Default: white

saveAsHTML

boolean

If true, the exported image be saved with an
accompanying HTML file. Default: false

transparency

boolean

If true, the exported image use transparency.
Default: true

typename

string

Read-only. The class name of the referenced object.

verticalScale

number (double)

The vertical scaling factor to apply to the exported
image, where 100.0 is 100. Default: 100.0

Exporting to PNG24 format
// Exports current document to dest as a PNG24 file with specified
// options, dest contains the full path including the file name, saveAsHTML
// option creates an HTML version with the PNG file in an images folder
function exportFileToPNG24 (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsPNG24();
var type = ExportType.PNG24;
var fileSpec = new File(dest);
exportOptions.antiAliasing = false;
exportOptions.transparency = false;
exportOptions.saveAsHTML = true;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

CHAPTER 1: JavaScript Object Reference

ExportOptionsSVG 61

ExportOptionsSVG
Options for exporting a document as a SVG file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsSVG properties
Property

Value type

What it is

artboardRange

string

A range of artboards to save, if
saveMultipleArtboards is true. A
comma-delimited list of artboard
names., or the empty string to save all
artboards. Default: empty string

compressed

boolean

If true, the exported file should be
compressed. Default: false

coordinatePrecision

number (long)

The decimal precision for element
coordinate values. Range: 1 to 7.
Default: 3

cssProperties

SVGCSSPropertyLocation

How the CSS properties of the
document should be included in the
exported file. Default:
SVGCSSPropertyLocation.
STYLEATTRIBUTES

documentEncoding

SVGDocumentEncoding

How the text in the document should
be encoded. Default:
SVGDocumentEncoding.ASCII

DTD

SVGDTDVersion

The SVG version to which the file
should conform. Default:
SVGDTDVersion.SVG1_1

embedRasterImages

boolean

If true, the raster images contained in
the document should be embedded
in the exported file. Default: false

fontSubsetting

SVGFontSubsetting

Which font glyphs should be included
in the exported file. Default:
SVGFontSubsetting.ALLGLYPHS

fontType

SVGFontType

The type of font to included in the
exported file.
Default: SVGFontType.CEFFONT

includeFileInfo

boolean

If true, file information should be
saved in the exported file.
Default: false

CHAPTER 1: JavaScript Object Reference

ExportOptionsSVG 62

Property

Value type

What it is

includeUnusedStyles

boolean

If true, save unused styles in the
exported file. Default: false

includeVariablesAndDatasets

boolean

If true, variables and datasets should
be saved in the exported file.
Default: false

optimizeForSVGViewer

boolean

If true, the exported file should be
optimized for the SVG Viewer.
Default: false

preserveEditability

boolean

If true, Illustrator editing capabilities
should be preserved when exporting
the document. Default: false

saveMultipleArtboards

boolean

If true, save the artboards specified
by artboardRange in the exported
file. Default: false

slices

boolean

If true, slice data should be exported
with the file. Default: false

sVGAutoKerning

boolean

If true, SVG automatic kerning is
allowed in the file. Default: false

sVGTextOnPath

boolean

If true, the SVG text-on-path
construct is allowed in the file.
Default: false

typename

string

Read-only. The class name of the
referenced object.

Exporting to SVG format
// Exports current document to dest as an SVG file with specified
// options, dest contains the full path including the file name
function exportFileToSVG (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsSVG();
var type = ExportType.SVG;
var fileSpec = new File(dest);
exportOptions.embedRasterImages = true;
exportOptions.embedAllFonts = false;
exportOptions.fontSubsetting = SVGFontSubsetting.GLYPHSUSED;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

CHAPTER 1: JavaScript Object Reference

ExportOptionsTIFF

63

ExportOptionsTIFF
Options for exporting a document as a TIFF file, used with the exportFile method. All properties are
optional.
When you export a document, the appropriate file extension is appended automatically. You should not
include any file extension in the file specification.

ExportOptionsTIFF properties
Property

Value type

What it is

antiAliasing

boolean

If true, the exported image should be anti-aliased.
Default: true

artboardRange

string

If saveMultipleArtboards is true, this is considered
for multi-asset extraction, which specifies the
artboard range. An empty string extracts all the
artboards. Default: empty string

byteOrder

TIFFByteOrder

The byte order to use in the new file.

imageColorSpace

ImageColorSpace The color space of the exported file.
Default: ImageColorSpace.RGB

IZWCompression

boolean

If true, use IZW compression in the new file.

resolution

number (double)

Resolution of the exported file in dots per inch (dpi).
Range: 72.0 to 2400.0. Default: 150.0

saveMultipleArtboards

boolean

If true, all artboards or range of artboards are saved.
Default: false

Exporting to TIFF format
// Exports current document to dest as a TIFF file with specified
// options, dest contains the full path including the file name
function exportFileToPSD (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsTIFF();
var type = ExportType.TIFF;
var fileSpec = new File(dest);
exportOptions.resolution = 150;
exportOptions.byteOrder = TIFFByteOrder.IBMPC;
exportOptions.IZWCompression = false;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}

CHAPTER 1: JavaScript Object Reference

FXGSaveOptions

FXGSaveOptions
Specifies options which may be supplied when saving a document as an FXG file. All properties are
optional.

FXGSaveOptions properties
Property

Value type

What it is

artboardRange

string

If saveMultipleArtboards is true,
this is considered for multi-asset
extraction, which specifies the
artboard range. An empty string
extracts all the artboards.
Default: empty string

blendsPolicy

BlendsExpandPolicy

The policy used by FXG to expand
blends. Default:
BlendsExpandPolicy.AUTOMATICA
LLYCONVERTBLENDS

downsampleLinkedImages

boolean

If true, linked images are
downsampled (at 72 dpi).
Default: false

filtersPolicy

FiltersPreservePolicy

The policy used by FXG to preserve
filters. Default:
FiltersPreservePolicy.
KEEPFILTERSEDITABLE

gradientsPolicy

GradientsPreservePolicy

The policy used by FXG to preserve
gradients. Default:
GradientsPreservePolicy.
AUTOMATICALLYCONVERTGRADIENTS

includeUnusedSymbols

boolean

preserveEditingCapabilities boolean

If true, unused symbols are
included. Default: false
If true, the editing capabilities of
FXG are preserved. Default: true

saveMultipleArtboards

boolean

If true, all artboards or range of
artboards are saved. Default: false

textPolicy

TextPreservePolicy

The policy used by FXG to preserve
text. Default: TextPreservePolicy.
AUTOMATICALLYCONVERTTEXT

version

FXGVersion

The version of the FXG file format to
create. Default
FXGVersion.VERSION2PT0

64

CHAPTER 1: JavaScript Object Reference

Gradient

Gradient
A gradient definition contained in a document. Scripts can create new gradients.

Gradient properties
Property

Value type

What it is

gradientStops

GradientStops

Read-only. The gradient stops contained in this gradient.

name

string

The gradient’s name.

parent

Document

Read-only. The document that contains this gradient.

type

GradientType

The kind of the gradient, either radial or linear.

typename

string

Read-only. The class name of the referenced object.

Gradient methods
Method

Parameter type

remove
()

Returns

What it does

Nothing

Removes the referenced object from the document.

Creating and applying a gradient
// Creates a new gradient in current document then
// applies the gradient to the frontmost path item
if ( app.documents.length > 0 ) {
// Create a color for both ends of the gradient
var startColor = new RGBColor();
var endColor = new RGBColor();
startColor.red = 0;
startColor.green = 100;
startColor.blue = 255;
endColor.red = 220;
endColor.green = 0;
endColor.blue = 100;
// Create a new gradient
// A new gradient always has 2 stops
var newGradient = app.activeDocument.gradients.add();
newGradient.name = "NewGradient";
newGradient.type = GradientType.LINEAR;
// Modify the first gradient stop
newGradient.gradientStops[0].rampPoint = 30;
newGradient.gradientStops[0].midPoint = 60;
newGradient.gradientStops[0].color = startColor;

65

CHAPTER 1: JavaScript Object Reference

// Modify the last gradient stop
newGradient.gradientStops[1].rampPoint = 80;
newGradient.gradientStops[1].color = endColor;
// construct an Illustrator.GradientColor object referring to the
// newly created gradient
var colorOfGradient = new GradientColor();
colorOfGradient.gradient = newGradient;
// get first path item, apply new gradient as its fill
var topPath = app.activeDocument.pathItems[0];
topPath.filled = true;
topPath.fillColor = colorOfGradient;
}

Gradient

66

CHAPTER 1: JavaScript Object Reference

GradientColor

GradientColor
A gradient color specification in a Gradient object. A script can create a new gradient color using a
reference to an existing gradient in the document. If no existing gradient object is referenced, a default
gradient is supplied.

GradientColor properties
Property

Value type

What it is

angle

number (double)

The gradient vector angle in degrees. Default: 0.0

gradient

Gradient

Reference to the object defining the gradient.

hiliteAngle

number (double)

The gradient highlight vector angle in degrees.

hiliteLength

number (double)

The gradient highlight vector length.

length

number (double)

The gradient vector length.

matrix

Matrix

An additional transformation matrix to manipulate the
gradient path.

origin

array of 2 numbers

The gradient vector origin, the center point of the gradient in
this color.

typename

string

Read-only. The class name of the referenced object.

Changing a gradient stop color
// Creates a new RGB document, then changes the color
// of the first gradient stop of an indexed gradient
app.documents.add(DocumentColorSpace.RGB);
// Get a reference to the gradient that you want to change
var gradientRef = app.activeDocument.gradients[1];
// Create the new color
var startColor = new RGBColor();
startColor.red = 255;
startColor.green = 238;
startColor.blue = 98;
// apply new color to the first gradient stop
gradientRef.gradientStops[0].color = startColor;

67

CHAPTER 1: JavaScript Object Reference

Gradients

Gradients
A collection of Gradient objects in a document.

Gradients properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

Gradients methods
Method

Parameter type

add
()
getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

Gradient

Creates a new Gradient object.

Gradient

Gets the first element in the collection with the
specified name.

Gradient

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Removing a gradient
// Deletes the first gradient from the current document
if ( app.documents.length > 0 ) {
app.activeDocument.gradients[0].remove();
}

68

CHAPTER 1: JavaScript Object Reference

GradientStop

69

GradientStop
A gradient stop definition that represents a point on a specific gradient defined in the document. Each
gradient stop specifies a color change in the containing gradient. See Changing a gradient stop color for
an example.

GradientStop properties
Property

Value type

What it is

color

Color

The color linked to this gradient stop.

midPoint

number (double)

The midpoint key value, specified as a percentage from 13.0 to
87.0.

opacity

number (double)

The opacity value for the gradient stop. Range: 0.0 to100.0

parent

Gradient

Read-only. The gradient that contains this gradient stop.

rampPoint

number (double)

The location of the color in the blend in a range from 0.0 to 100.0,
where 100.0 is 100%.

typename

string

Read-only. The class name of the referenced object.

GradientStop methods
Method
remove
()

Parameter type

Returns

What it does

Nothing

Deletes this object.

CHAPTER 1: JavaScript Object Reference

GradientStops

70

GradientStops
A collection of GradientStop objects in a specific gradient. The elements are not named; you must access
them by index.

GradientStops properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

GradientStops methods
Method

Parameter type

add
()
getByName
(name)

string

index
(itemKey)

number

removeAll
()

Returns

What it does

GradientStop

Creates a new object.

GradientStop

Gets the first element in the collection
with the specified name.

GradientStop

Gets an element from the collection.

Nothing

Deletes all objects in this collection.

Adding a new gradient stop
// Adds a new gradient stop to a gradient, color of new stop is 70% gray
if ( app.documents.length > 0 && app.activeDocument.gradients.length > 0 ) {
// Get a reference to the gradient to change
var changeGradient = app.activeDocument.gradients[0];
// Get a reference to the last gradient stop
var origCount = changeGradient.gradientStops.length;
var lastStop = changeGradient.gradientStops[origCount-1];
// add the new gradient stop
var newStop = changeGradient.gradientStops.add();
// Set the values of the new gradient stop.
// Move the original last gradient stop a bit to the left and
// insert the new gradient stop at the old position
newStop.rampPoint = lastStop.rampPoint;
lastStop.rampPoint = lastStop.rampPoint - 10;
// Create a new color to apply to the newly created gradient stop
// --a Gray tint value of 70%
var newStopColor = new GrayColor();
newStopColor.gray = 70.0;
newStop.color = newStopColor;

CHAPTER 1: JavaScript Object Reference

}

GradientStops

71

CHAPTER 1: JavaScript Object Reference

GraphicStyle

GraphicStyle
A graphic style. Each graphic style defines a set of appearance attributes that you can apply
non-destructively to page items. Graphic styles are contained in documents. Scripts cannot create new
graphic styles.

GraphicStyle properties
Property

Value type

What it is

name

string

The graphic style name.

parent

Document

Read-only. The document that contains this graphic style.

typename

string

Read-only. The class name of the referenced object.

GraphicStyle methods
Method

Parameter type Returns

applyTo
(artItem)

PageItem

mergeTo
(artItem)

PageItem

remove
()

What it does

Nothing

Applies this art style to a specified art item.

Nothing

Merges this art style into the current styles of a specified
art item.

Nothing

Deletes this object.

Applying a graphic style
// Duplicates each path item in the selection, places the duplicate into a
// new group, then applies a graphic style to the new groups items
if ( app.documents.length > 0 ) {
var doc = app.activeDocument;
var selected = doc.selection;
var newGroup = doc.groupItems.add();
newGroup.name = "NewGroup";
newGroup.move( doc, ElementPlacement.PLACEATEND );
var endIndex = selected.length;
for ( i = 0; i < endIndex; i++ ) {
if ( selected[i].typename == "PathItem" )
selected[i].duplicate( newGroup, ElementPlacement.PLACEATEND );
}
for ( i = 0; i < newGroup.pageItems.length; i++ ) {
doc.graphicStyles[1].applyTo( newGroup.pageItems[i] );
}
}

72

CHAPTER 1: JavaScript Object Reference

GraphicStyles

GraphicStyles
A collection of GraphicStyle objects in a document.

GraphicStyles properties
Property

Value type

What it is

length

number

Read-only. The number of graphic styles in the document.

parent

object

Read-only. The document that contains this graphic styles collection.

typename

string

Read-only. The class name of the referenced object.

GraphicStyles methods
Method

Parameter type: Returns

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

What it does

GroupItem

Gets the first element in the collection with the
specified name.

GroupItem

Gets an element from the collection.

Nothing

Removes all elements in the referenced collection.

Counting graphics styles
//Counts the number of graphic styles in the active document
// and stores result in numberOfStyles
if ( app.documents.length > 0 ) {
var numberOfStyles = app.activeDocument.graphicStyles.length;
}

73

CHAPTER 1: JavaScript Object Reference

GraphItem

74

GraphItem
Any graph artwork object. See example Rotating graph items below.

GraphItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so, what
kind of knockout. You cannot set this value to
KnockoutState.Unknown

blendingMode

BlendModes

The mode used when compositing an object.

contentVariable

Variable

The content variable bound to the graph item.
It is not necessary to set the type of the
contentVariable before binding. Illustrator
automatically set the type to GRAPH.

controlBounds

array of 4 numbers

Read-only. The bounds of the object including stroke
width and controls.

editable

boolean

Read-only. If true, this graph item is editable.

geometricBounds

array of 4 numbers

Read-only. The bounds of the object excluding stroke
width.

height

number (double)

The height of the graph item.

hidden

boolean

If true, this graph item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this graph item belongs.

left

number

The offset (in points) of the left side of the graph item
from the left side of the page.

locked

boolean

If true, this graph item is locked.

name

string

The name of this graph item.

note

string

The note assigned to this item.

opacity

number(double)

The opacity of the object; the value is between 0.0
and 100.0.

parent

Layer or
GroupItem

Read-only. The parent of this object.

position

array of 2 numbers

The position (in points) of the top left corner of the
graphItem object in the format [x, y]. Does not
include stroke weight.

selected

boolean

If true, this object is selected.

sliced

boolean

If true, the graph item is sliced. Default: false

CHAPTER 1: JavaScript Object Reference

GraphItem

Property

Value type

What it is

tags

Tags

Read-only. The tags contained in this graph item.

top

number (double)

The offset (in points) of the top of the graph item from
the bottom of the page.

typename

string

Read-only. The type of the graph item.

uRL

string

The value of the Adobe URL tag assigned to this graph
item.

visibilityVariable

Variable

The visibility variable bound to the graph item.
It is not necessary to set the type of the
visibilityVariable before binding. Illustrator
automatically set the type to VISIBILITY.

visibleBounds

array of 4 numbers

Read-only. The visible bounds of the graph item
including stroke width.

width

number (double)

The width of the graph item. Range: 0.0 to 16348.0

wrapInside

boolean

If true, the text frame object should be wrapped
inside this object.

wrapOffset

number (double)

The offset to use when wrapping text around this
object.

wrapped

boolean

If true, wrap text frame objects around this object.
(Text frame must be above the object.)

zOrderPosition

number (long)

Read-only. The position of this art item within the
stacking order of the group or layer (parent) that
contains the art item.

GraphItem methods
Method

Parameter type

duplicate
([relativeObject]
[,insertionLocation])

object

move
(relativeObject,
insertionLocation)

object

remove
()

Returns

What it does

GraphItem

Creates a duplicate of the
selected object.

GraphItem

Moves the object.

Nothing

Deletes this object.

ElementPlacement

ElementPlacement

75

CHAPTER 1: JavaScript Object Reference

GraphItem

Method

Parameter type

resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

Returns

What it does

Nothing

Scales the art item where
scaleX is the horizontal
scaling factor and scaleY is
the vertical scaling factor.
100.0 = 100%.

Nothing

Rotates the art item relative
to the current rotation. The
object is rotated
counter-clockwise if the
angle value is positive,
clockwise if the value is
negative.

Nothing

Transforms the art item by
applying a transformation
matrix.

Nothing

Repositions the art item
relative to the current
position, where deltaX is the
horizontal offset and deltaY
is the vertical offset.

Nothing

Arranges the art item’s
position in the stacking order
of the group or layer (parent)
of this object.

76

CHAPTER 1: JavaScript Object Reference

GraphItems

GraphItems
A collection GraphItems objects, which gives you access to all the graph art items in an Illustrator
document.

GraphItems properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

GraphItems methods
Method

Parameter type

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

GraphItems

Gets the first element in the collection with the
specified name.

GraphItems

Gets an element from the collection.

Nothing

Deletes all elements in the collection.

Rotating graph items
// Rotates each graph item in the current document 90 degrees.
// Verify a document with a graph item is open
var ok = false;
if (documents.length > 0) {
var docRef = activeDocument
var iCount = docRef.graphItems.length
if( iCount > 0) {
ok = true;
for (var i=0; i 0
&& app.activeDocument.textFrames.length > 0 ) {
var text = app.activeDocument.textFrames[0].textRange;
var firstWord = text.words[0];
// Create the new color
var textColor = new GrayColor();
textColor.gray = 45;
firstWord.filled = true;
firstWord.fillColor = textColor;
}

78

CHAPTER 1: JavaScript Object Reference

GroupItem

GroupItem
A grouped set of art items. Group items can contain all of the same page items that a layer can contain,
including other nested groups.
Paths contained in a group or compound path in a document are returned as individual paths when a
script asks for the paths contained in the document. However, paths contained in a group or compound
path are not returned when a script asks for the paths in a layer which contains the group or compound
path.

GroupItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so,
what kind of knockout.

blendingMode

BlendModes

The blend mode used when compositing an object.

clipped

boolean

If true, the group is clipped to the clipping mask.

compoundPathItems

CompoundPathItems

Read-only. The compound path items contained in
this group.

controlBounds

array of 4 numbers

Read-only. The bounds of the object including stroke
width and controls.

editable

boolean

Read-only. If true, this item is editable.

geometricBounds

array of 4 numbers

Read-only. The bounds of the object excluding stroke
width.

graphItems

GraphItems

Read-only. The graph items contained in this group.

groupItems

GroupItems

Read-only. The group items contained in this group.

height

number (double)

The height of the group item.

hidden

boolean

If true, this group item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this group item
belongs.

left

number (double)

The position of the left side of the item (in points,
measured from the left side of the page).

legacyTextItems

LegacyTextItems

Read-only. The legacy text items in the group.

locked

boolean

If true, this group item is locked.

meshItems

MeshItems

Read-only. The mesh items contained in this group.

name

string

The name of this group item.

nonNativeItems

NonNativeItems

Read-only. The non-native art items in this group.

79

CHAPTER 1: JavaScript Object Reference

GroupItem

80

Property

Value type

What it is

note

string

The note assigned to this item.

opacity

number (double)

The opacity of the object. Range: 0.0 to 100.0

pageItems

PageItems

Read-only. The page items (all art item classes)
contained in this group.

parent

Layer or GroupItem

Read-only. The parent of this object.

pathItems

PathItems

Read-only. The path items contained in this group.

placedItems

PlacedItems

Read-only. The placed items contained in this group.

pluginItems

PluginItems

Read-only. The plug-in items contained in this group.

position

array of 2 numbers

The position (in points) of the top left corner of the
groupItem object in the format [x, y]. Does not

include stroke weight.
rasterItems

RasterItems

Read-only. The raster items contained in this group.

selected

boolean

If true, this group item is selected.

sliced

boolean

If true, the item sliced. Default: false

symbolItems

SymbolItems

Read-only. The symbol item objects in this group.

tags

Tags

Read-only. The tags contained in this group.

textFrames

TextFrameItems

Read-only. The text art items contained in this group.

top

number (double)

The position of the top of the item (in points,
measured from the bottom of the page).

typename

string

Read-only. The class name of the referenced object.

uRL

string

The value of the Adobe URL tag assigned to this
group item.

visibilityVariable

Variable

The visibility variable bound to the item.

visibleBounds

array of 4 numbers

Read-only. The visible bounds of the group item
including stroke width.

width

number (double)

The width of the group item.

wrapInside

boolean

If true, the text frame object should be wrapped
inside this object.

wrapOffset

number (double)

The offset to use when wrapping text around this
object.

wrapped

boolean

If true, wrap text frame objects around this object
(text frame must be above the object).

zOrderPosition

number (long)

Read-only. The position of this group object within
the stacking order of the group or layer (parent) that
contains the group object.

CHAPTER 1: JavaScript Object Reference

GroupItem

GroupItem methods
Method

Parameter type

duplicate
([relativeObject]
[,insertionLocation])

object

move
(relativeObject,
insertionLocation)

object

Returns

What it does

GroupItem

Creates a duplicate of the
selected object.

GroupItem

Moves the object.

Nothing

Deletes this object.

Nothing

Scales the art item where
scaleX is the horizontal
scaling factor and scaleY
is the vertical scaling factor.
100.0 = 100%.

Nothing

Rotates the art item relative
to the current rotation. The
object is rotated
counter-clockwise if the
angle value is positive,
clockwise if the value is
negative.

Nothing

Transforms the art item by
applying a transformation
matrix.

Nothing

Repositions the art item
relative to the current
position, where deltaX is
the horizontal offset and
deltaY is the vertical
offset.

Nothing

Arranges the art item’s
position in the stacking
order of the group or layer
(parent) of this object.

ElementPlacement

ElementPlacement

remove
()
resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

81

CHAPTER 1: JavaScript Object Reference

GroupItem

82

Modifying all objects in a group
It is easy to modify all of the objects contained in a group. This example demonstrates how to simplify your
operations on multiple objects by creating group to contain them.
// Creates a new group item, adds a new path item, of triangle shape, to the group, then
// adds a new text item to the group and sets the fill color of the text to red
if ( app.documents.length > 0 ) {
var triangleGroup = app.activeDocument.groupItems.add();
// Create a triangle and add text, the new art is created inside the group
var trianglePath = triangleGroup.pathItems.add();
trianglePath.setEntirePath( Array( Array(100, 100), Array(300, 100),
Array(200, Math.tan(1.0471975) * 100 + 100) ) );
trianglePath.closed = true;
trianglePath.stroked = true;
trianglePath.filled = false;
trianglePath.strokeWidth = 3;
var captionText = triangleGroup.textFrames.add();
captionText.position = Array(100, 150);
captionText.textRange.size = 48;
captionText.contents = "A triangle";
var fillColor = new RGBColor;
fillColor.red = 255;
fillColor.green = 0;
fillColor.blue = 0;
captionText.characters.fillColor = fillColor;
}

CHAPTER 1: JavaScript Object Reference

GroupItems

GroupItems
The collection of grouped art items in a document.

GroupItems properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

GroupItems methods
Method

Parameter type

add
()
createFromFile
(imageFile)

File

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

GroupItem

Creates a new object.

GroupItem

Places an external vector art file as a group
item in the document.

GroupItem

Gets the first element in the collection with
the specified name.

GroupItem

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Importing a PDF as a group item
The following script shows how you can import a PDF document using the createFromFile function.
Before running this script you must create a one page PDF file and put it in the location
/temp/testfile1.pdf.
// Embeds a new group item in to the current
// document from a file specified by dest
// dest should contain the full path and file name
function embedPDF(dest) {
var embedDoc = new File(dest);
if ( app.documents.length > 0 && embedDoc.exists ) {
var doc = app.activeDocument;
var placed = doc.groupItems.createFromFile( embedDoc );
}
}

83

CHAPTER 1: JavaScript Object Reference

IllustratorSaveOptions

IllustratorSaveOptions
Options for saving a document as an Illustrator file, used with the saveAs method. All properties are
optional.

IllustratorSaveOptions properties
Property

Value type

What it is

artboardRange

string

If saveMultipleArtboards is true (which is valid
only for Illustrator 13 or earlier), the document is
considered for multi-asset extraction, which specifies
an artboard range. An empty string extracts all
artboards. Default: empty string

compatibility

Compatibility

Specifies the version of Illustrator file format to create.
Default: Compatibility.ILLUSTRATOR19

compressed

boolean

(Illustrator version 10 or later.) If true, the saved file is
compressed. Default: true

embedICCProfile

boolean

(Illustrator version 9 or later.) If true, the document’s
ICC profile is embedded in the saved file.
Default: false

embedLinkedFiles

boolean

(Illustrator version 7 or later.) If true, the linked image
files is embedded in the saved file. Default: false

flattenOutput

OutputFlattening

(Versions before Illustrator 9.) How transparency
should be flattened for older file format versions.
Default: OutputFlattening.PRESERVEAPPEARANCE

fontSubsetThreshold

number (double)

(Illustrator version 9 or later.) Include a subset of fonts
when less than this percentage of characters is used in
the document. Range: 0.0 to 100.0. Default: 100.0

pdfCompatible

boolean

(Illustrator version 10 or later.) If true, the file is saved
as a PDF compatible file. Default: true

saveMultipleArtboards boolean

typename

string

If true, all artboards or range of the artboards are
saved. Valid for Illustrator 13 or earlier.
Read-only. The class name of the referenced object.

84

CHAPTER 1: JavaScript Object Reference

IllustratorSaveOptions

Saving with options
// Saves the current document to dest as an AI file with specified options,
// dest specifies the full path and file name of the new file
function exportFileToAI (dest) {
if ( app.documents.length > 0 ) {
var saveOptions = new IllustratorSaveOptions();
var ai8Doc = new File(dest);
saveOptions.compatibility = Compatibility.ILLUSTRATOR8;
saveOptions.flattenOutput = OutputFlattening.PRESERVEAPPEARANCE;
app.activeDocument.saveAs( ai8Doc, saveOptions );
}
}

85

CHAPTER 1: JavaScript Object Reference

ImageCaptureOptions

ImageCaptureOptions
Options for image capture, used with the imageCapture method. All properties are optional.

ImageCaptureOptions properties
Property

Value type

What it is

antiAliasing

boolean

If true, the image result is anti-aliased. Default: false

matte

boolean

If true, the artboard is matted with a color. Default: false

matteColor

RGBColor

The color to use for the artboard matte. Default: white

resolution

number (double)

The resolution of the captured image file in points-per-inch
(PPI), in the range [72.0 ... 2400.0]. Default: 150

transparency

boolean

If true, the image result is transparent. Default: false

typename

string

Read-only. The class name of the referenced object.

86

CHAPTER 1: JavaScript Object Reference

Ink

Ink
Associates a document ink name with ink information.

Ink properties
Property

Value type

What it is

inkInfo

InkInfo

The ink information

name

string

The ink’s name

typename

string

Read-only. The class name of the object

87

CHAPTER 1: JavaScript Object Reference

InkInfo

InkInfo
Ink information for printing a document.

InkInfo properties
Property

Value type

What it is

angle

number (double)

The ink’s screen angle in degrees. Range: -360 to 360

customColor

Color

The color of the custom ink.

density

number (double)

The neutral density. Minimum: 0.0

dotShape

string

The dot shape name.

frequency

number (double)

The ink’s frequency. Range: 0.0 to 1000.0

kind

InkType

The ink type.

printingStatus

InkPrintStatus

The ink printing status.

trapping

TrappingType

The trapping type.

trappingOrder

number (long)

The order of trapping for the ink. Range: 1 to 4 for CMYK

typename

string

Read-only. The class name of the object.

Getting ink information
// Displays the current documents inks in a text frame
var docRef = documents.add();
var textRef = docRef.textFrames.add();
// assemble a string of the inks in this document
var sInks = "";
var iLength = activeDocument.inkList.length;
for(var i=0; i 0) {
countOfLayers = activeDocument.layers.length;
if (countOfLayers > 1) {
bottomLayer = activeDocument.layers[countOfLayers-1];
bottomLayer.zOrder(ZOrderMethod.BRINGTOFRONT);
}
else {
alert("The active document only has only 1 layer")
}
}

Layer

94

CHAPTER 1: JavaScript Object Reference

Layers

Layers
The collection of layers in the document.

Layers properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

Layers methods
Method

Parameter type

add
()
getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

Layer

Creates a new layer in the document.

Layer

Gets the first element in the collection with the specified
name.

Layer

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Finding and deleting layers
// Deletes all layers whose name begins with "Temp" in all open documents
// loop through all open documents
var layersDeleted = 0;
for ( i = 0; i < app.documents.length; i++ ) {
var targetDocument = app.documents[i];
var layerCount = targetDocument.layers.length;
// Loop through layers from the back, to preserve index
// of remaining layers when we remove one
for (var ii = layerCount - 1; ii >= 0; ii-- ) {
targetLayer = targetDocument.layers[ii];
var layerName = new String( targetLayer.name );
if ( layerName.indexOf("Temp") == 0 ) {
targetDocument.layers[ii].remove();
layersDeleted++;
}
}
}

95

CHAPTER 1: JavaScript Object Reference

LegacyTextItem

96

LegacyTextItem
A text object created in Illustrator CS (version 10) or earlier, which is uneditable until converted. To convert
legacy text, see convertToNative.
You can view, move, and print legacy text, but you cant edit it. Legacy text has an “x” through its bounding
box when selected.

LegacyTextItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so, what
kind of knockout.

blendingMode

BlendModes

The blend mode used when compositing an object.

controlBounds

array of 4 numbers

Read-only. The bounds of the object including stroke
width and controls.

converted

boolean

Read-only. If true, the legacy text item has been
updated to a native text frame item.

editable

boolean

Read-only. If true, this item is editable.

geometricBounds

array of 4 numbers

Read-only. The bounds of the object excluding stroke
width.

height

number (double)

The height of the group item.

hidden

boolean

If true, this item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this item belongs.

left

number (double)

The position of the left side of the item (in points,
measured from the left side of the page).

locked

boolean

If true, this item is locked.

name

string

The name of this item.

note

string

The note assigned to this item.

opacity

number (double)

The opacity of the object. Range: 0.0 to 100.0

parent

Layer or GroupItem

Read-only. The parent of this object.

position

array of 2 numbers

The position (in points) of the top left corner of the
legacyTextItem object in the format [x, y]. Does not
include stroke weight.

selected

boolean

If true, this item is selected.

sliced

boolean

If true, the item sliced. Default: false

tags

Tags

Read-only. The tags contained in this item.

CHAPTER 1: JavaScript Object Reference

LegacyTextItem

Property

Value type

What it is

top

number (double)

The position of the top of the item (in points,
measured from the bottom of the page).

typename

string

Read-only. The class name of the referenced object.

uRL

string

The value of the Adobe URL tag assigned to this item.

visibilityVariable

Variable

The visibility variable bound to the item.

visibleBounds

array of 4 numbers

Read-only. The visible bounds of the item including
stroke width.

width

number (double)

The width of the item.

wrapInside

boolean

If true, the text frame object should be wrapped
inside this object.

wrapOffset

number (double)

The offset to use when wrapping text around this
object.

wrapped

boolean

If true, wrap text frame objects around this object
(text frame must be above the object).

zOrderPosition

number (long)

Read-only. The position of this item within the stacking
order of the group or layer (parent) that contains the
item.

LegacyTextItem methods
Method

Parameter type

convertToNative
()

duplicate
([relativeObject]
[,insertionLocation])

object

move
(relativeObject,
insertionLocation)

object

remove
()

Returns

What it does

GroupItem

Converts the legacy
text item to a text
frame and deletes the
original legacy text.

LegacyTextItem

Creates a duplicate of
the selected object.

LegacyTextItem

Moves the object.

Nothing

Deletes this object.

ElementPlacement

ElementPlacement

97

CHAPTER 1: JavaScript Object Reference

LegacyTextItem

Method

Parameter type

resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

98

Returns

What it does

Nothing

Scales the art item
where scaleX is the
horizontal scaling
factor and scaleY is
the vertical scaling
factor. 100.0 = 100%.

Nothing

Rotates the art item
relative to the current
rotation. The object is
rotated
counter-clockwise if
the angle value is
positive, clockwise if
the value is negative.

Nothing

Transforms the art
item by applying a
transformation matrix.

Nothing

Repositions the art
item relative to the
current position,
where deltaX is the
horizontal offset and
deltaY is the vertical
offset.

Nothing

Arranges the art item’s
position in the
stacking order of the
group or layer (parent)
of this object.

CHAPTER 1: JavaScript Object Reference

LegacyTextItems

LegacyTextItems
A collection of LegacyTextItem objects.

LegacyTextItems properties
Property

Value type

What it is

length

number

Read-only. Number of elements in the collection.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

LegacyTextItems methods
Method

Parameter type

convertToNative
()

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

boolean

Creates text frames from all legacy text
items; the original legacy text items are
deleted. Returns true on success.

LegacyTextItem

Get the first element in the collection
with the specified name.

LegacyTextItem

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

99

CHAPTER 1: JavaScript Object Reference

Lines

100

Lines
A collection of TextRange objects representing lines of text in a text frame. The elements are not named;
you must access them by index.

Lines properties
Property

Value type

What it is

length

number

Read-only. Number of elements in the collection.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

Lines methods
Method

Parameter type Returns

index
(itemKey)

number

removeAll
()

What it does

TextRange

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

CHAPTER 1: JavaScript Object Reference

Matrix

101

Matrix
A transformation matrix specification, used to transform the geometry of objects. Use it to specify and
retrieve matrix information from an Illustrator document or from page items in a document.
Matrices are used in conjunction with the transform method and as a property of a number of objects. A
matrix specifies how to transform the geometry of an object. You can generate an original matrix using the
Application object methods getTranslationMatrix, getScaleMatrix, or getRotationMatrix.
A Matrix is a record containing the matrix values, not a reference to a matrix object. The matrix
commands operate on the values of a matrix record. If a command modifies a matrix, a modified matrix
record is returned as the result of the command. The original matrix record passed to the command is not
modified.

Matrix properties
Property

Value type

What it is

mValueA

number (double)

Matrix property a.

mValueB

number (double)

Matrix property b.

mValueC

number (double)

Matrix property c.

mValueD

number (double)

Matrix property d.

mValueTX

number (double)

Matrix property tx.

mValueTY

number (double)

Matrix property ty.

typename

string

Read-only. The class name of the referenced object.

Combining matrices to apply multiple transformations
To apply multiple transformations to objects, it is more efficient to use the matrix suite than to apply the
transformations one at a time. The following script demonstrates how to combine multiple matrices.
// Tranforms all art in a document using translation and rotation matrices,
// moves art half an inch to the right and 1.5 inches up on the page
if ( app.documents.length > 0 ) {
var moveMatrix = app.getTranslationMatrix( 0.5, 1.5 );
// Add a rotation to the translation, 10 degrees counter clockwise
var totalMatrix = concatenateRotationMatrix( moveMatrix, 10 );
// apply the transformation to all art in the document
var doc = app.activeDocument;
for ( i = 0; i < doc.pageItems.length; i++ ) {
doc.pageItems[i].transform( totalMatrix );
}
}

CHAPTER 1: JavaScript Object Reference

MeshItem

102

MeshItem
A gradient mesh art item. You cannot create mesh items from a script. However, you can copy an existing
mesh item with the duplicate method, then use the one of the move methods to place the copy at the
proper location.

MeshItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so, what
kind of knockout.

blendingMode

BlendModes

The blend mode used when compositing an object.

controlBounds

array of 4 numbers Read-only. The bounds of the object including stroke

width and controls.
Read-only. If true, this item is editable.

editable

boolean

geometricBounds

array of 4 numbers Read-only. The bounds of the object excluding stroke

width.
height

number (double)

The height of the group item.

hidden

boolean

If true, this item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this item belongs.

left

number (double)

The position of the left side of the item (in points,
measured from the left side of the page).

locked

boolean

If true, this item is locked.

name

string

The name of this item.

note

string

The note assigned to this item.

opacity

number (double)

The opacity of the object. Range: 0.0 to 100.0

parent

Layer or
GroupItem

Read-only. The parent of this object.

position

array of 2 numbers The position (in points) of the top left corner of the
meshItem object in the format [x, y]. Does not include

stroke weight.
selected

boolean

If true, this item is selected.

sliced

boolean

If true, the item sliced. Default: false

tags

Tags

Read-only. The tags contained in this item.

top

number (double)

The position of the top of the item (in points, measured
from the bottom of the page).

CHAPTER 1: JavaScript Object Reference

MeshItem

Property

Value type

What it is

typename

string

Read-only. The class name of the referenced object.

uRL

string

The value of the Adobe URL tag assigned to this item.

visibilityVariable

Variable

The visibility variable bound to the item.

visibleBounds

array of 4 numbers Read-only. The visible bounds of the item including

103

stroke width.
width

number (double)

The width of the item.

wrapInside

boolean

If true, the text frame object should be wrapped inside
this object.

wrapOffset

number (double)

The offset to use when wrapping text around this object.

wrapped

boolean

If true, wrap text frame objects around this object (text
frame must be above the object).

zOrderPosition

number (long)

Read-only. The position of this item within the stacking
order of the group or layer (parent) that contains the
item.

MeshItem methods
Method

Parameter type

duplicate
([relativeObject]
[,insertionLocation])

object

move
(relativeObject,
insertionLocation)

object

Returns

What it does

MeshItem

Creates a duplicate of the
selected object.

MeshItem

Moves the object.

Nothing

Deletes this object.

Nothing

Scales the art item where
scaleX is the horizontal
scaling factor and scaleY is
the vertical scaling factor.
100.0 = 100%.

Nothing

Rotates the art item relative
to the current rotation. The
object is rotated
counter-clockwise if the
angle value is positive,
clockwise if the value is
negative.

ElementPlacement

ElementPlacement

remove
()
resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

CHAPTER 1: JavaScript Object Reference

MeshItem

Method

Parameter type

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

Finding and locking mesh items
// Locks all mesh items in the current document
if ( app.documents.length > 0 ) {
doc = app.activeDocument;
for ( i = 0; i < doc.meshItems.length; i++ ) {
doc.meshItems[i].locked = true;
}
}

104

Returns

What it does

Nothing

Transforms the art item by
applying a transformation
matrix.

Nothing

Repositions the art item
relative to the current
position, where deltaX is the
horizontal offset and deltaY
is the vertical offset.

Nothing

Arranges the art item’s
position in the stacking order
of the group or layer (parent)
of this object.

CHAPTER 1: JavaScript Object Reference

MeshItems

105

MeshItems
A collection of MeshItem objects.

MeshItems properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection

parent

object

Read-only. The parent of this object

typename

string

Read-only. The class name of the referenced object.

MeshItems methods
Method

Parameter type

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

MeshItem

Gets the first element in the collection with the
specified name.

MeshItem

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

Copying mesh items to another document
To run this script, have two open documents. One document should contain at least one mesh item, the
other document can be empty. Make the empty document the frontmost before running the script.
// Copies all mesh items from one document to a new document
if ( app.documents.length > 0 ) {
var srcDoc = documents[0];
var locationOffset = 0;
var targetDoc = documents.add();
for ( i = 0; i < srcDoc.meshItems.length; i++) {
srcItem = srcDoc.meshItems[i];
var dupItem = srcDoc.meshItems[i].duplicate( targetDoc,
ElementPlacement.PLACEATEND );
// offset the copied items' position on the y axis
dupItem.position = Array( 100, 50 + locationOffset );
locationOffset += 50;
}
}

CHAPTER 1: JavaScript Object Reference

NoColor

NoColor
Represents the “none” color. Assigning a NoColor object to the fill or stroke color of an art item is
equivalent to setting the filled or stroked property to false.

NoColor properties
Property

Value type

What it is

typename

string

Read-only. The class name of the object

Using NoColor to remove a fill color
// Creates 2 overlapping objects with different fill colors.
// Assign the top object a fill color of "NoColor"
// allowing the bottom object to become visible.
// create 2 overlapping objects one blue, one red;
var docRef = documents.add();
var itemRef1 = docRef.pathItems.rectangle(500, 200, 200, 100);
var itemRef2 = docRef.pathItems.rectangle(550, 150, 200, 200);
var rgbColor = new RGBColor();
rgbColor.red = 255;
itemRef2.fillColor = rgbColor;
rgbColor.blue = 255;
rgbColor.red = 0;
itemRef1.fillColor = rgbColor;
redraw();
// create a nocolor and assign it to the top object
var noColor = new NoColor();
itemRef2.fillColor = noColor;
redraw();

106

CHAPTER 1: JavaScript Object Reference

NonNativeItem

107

NonNativeItem
A non-native artwork item.

NonNativeItem properties
These classes inherit all properties from the page item class.
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout, and if so, what
kind of knockout.

blendingMode

BlendModes

The blend mode used when compositing an object.

controlBounds

array of 4 numbers

Read-only. The bounds of the object including stroke
width and controls.

editable

boolean

Read-only. If true, this item is editable.

geometricBounds

array of 4 numbers

Read-only. The bounds of the object excluding stroke
width.

height

number (double)

The height of the group item.

hidden

boolean

If true, this item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this item belongs.

left

number (double)

The position of the left side of the item (in points,
measured from the left side of the page).

locked

boolean

If true, this item is locked.

name

string

The name of this item.

note

string

The note assigned to this item.

opacity

number (double)

The opacity of the object. Range: 0.0 to 100.0

parent

Document, Layer, or
GroupItem

Read-only. The parent of this object.

position

array of 2 numbers

The position (in points) of the top left corner of the
NonNativeItem object in the format [x, y]. Does not
include stroke weight.

selected

boolean

If true, this item is selected.

sliced

boolean

If true, the item sliced. Default: false

tags

Tags

Read-only. The tags contained in this item.

top

number (double)

The position of the top of the item (in points, measured
from the bottom of the page).

CHAPTER 1: JavaScript Object Reference

NonNativeItem

108

Property

Value type

What it is

typename

string

Read-only. The class name of the referenced object.

uRL

string

The value of the Adobe URL tag assigned to this item.

visibilityVariable

Variable

The visibility variable bound to the item.

visibleBounds

array of 4 numbers

Read-only. The visible bounds of the item including
stroke width.

width

number (double)

The width of the item.

wrapInside

boolean

If true, the non-native-item object should be wrapped
inside this object.

wrapOffset

number (double)

The offset to use when wrapping text around this
object.

wrapped

boolean

If true, wrap non-native-item objects around this
object (non-native-item object must be above the
object).

zOrderPosition

number

Read-only. The position of this item within the stacking
order of the group or layer (parent) that contains the
item.

NonNativeItem methods
Method

Parameter type

duplicate
([relativeObject]
[,insertionLocation])

object

move
(relativeObject,
insertionLocation)

object

Returns

What it does

NonNativeItem Creates a duplicate of

the selected object.

ElementPlacement
NonNativeItem Moves the object.
ElementPlacement

remove
()

Nothing

Deletes this object.

removeAll
()

Nothing

Deletes all elements in
this collection.

Nothing

Scales the art item
where scaleX is the
horizontal scaling factor
and scaleY is the
vertical scaling factor.
100.0 = 100%.

resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

CHAPTER 1: JavaScript Object Reference

NonNativeItem

Method

Parameter type

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,transformAbout])

Matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradients]
[,transformStrokePatterns])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

109

Returns

What it does

Nothing

Rotates the art item
relative to the current
rotation. The object is
rotated
counter-clockwise if the
angle value is positive,
clockwise if the value is
negative.

Nothing

Transforms the art item
by applying a
transformation matrix.

Nothing

Repositions the art item
relative to the current
position, where deltaX
is the horizontal offset
and deltaY is the
vertical offset.

Nothing

Arranges the art item’s
position in the stacking
order of the group or
layer (parent) of this
object.

CHAPTER 1: JavaScript Object Reference

NonNativeItems

110

NonNativeItems
A collection of NonNativeItem objects.

NonNativeItems properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

NonNativeItems methods
Method

Parameter type

Returns

What it does

getByName
(name)

string

NonNativeItem,
SymbolItem

Gets the first element in the collection with the
specified name.

CHAPTER 1: JavaScript Object Reference

OpenOptions

111

OpenOptions
Options for opening a document, used with the open method.

OpenOptions properties
Property

Value type

What it is

convertCropAreaToArboard

boolean

Optional. Convert crop areas to artboards when
opening a legacy document in Illustrator CS4 or later.
When false, crop areas are discarded. Default: true.

convertTilesToArboard

boolean

Optional. Convert print tiles to artboards when opening
a legacy document in Illustrator CS4 or later. Default:
false.

createArtboardWithArtwor
kBoundingBox

boolean

Optional. Create an artboard with the dimensions of the
bounding box of the artwork when opening a legacy
document in Illustrator CS4 or later. Default: false.

openAs

LibraryType

Optional. Open the file as an Illustrator library of this
type. Default: LibraryType.IllustratorArtwork.

preserveLegacyArtboard

boolean

Optional. Preserve legacy artboards when opening a
legacy document in Illustrator CS4 or later. Default: true.

updateLegacyGradientMesh

boolean

If true, preserves the spot colors in the gradient mesh
objects for legacy documents (pre-Illustrator CS4).
Default: true

updateLegacyText

boolean

Optional. If true, update all legacy text items (from
previous versions of Illustrator). Default: false

Automatically updating legacy text on open
// Opens a file with legacy text (AI 10 or older), using
// OpenOptions to automatically update the legacy text.
var fileRef = filePath;
if (fileRef != null) {
var optRef = new OpenOptions();
optRef.updateLegacyText = true;
var docRef = open(fileRef, DocumentColorSpace.RGB, optRef);
}

CHAPTER 1: JavaScript Object Reference

OpenOptionsAutoCAD

112

OpenOptionsAutoCAD
Options for opening an AutoCAD drawing, used with the open method.

OpenOptionsAutoCAD properties
Property

Value type

What it is

centerArtwork

boolean

If true, the artwork is centered on the
artboard. Default: true

globalScaleOption

AutoCADGlobalScaleOption How to scale the drawing on import. Default:
AutoCADGlobalScaleOption.FitArtboard

globalScalePercent

double

The value when globalScaleOption is
AutoCADGlobalScaleOption.ScaleByValue,

expressed as a percentage. Range: 0.0 to
100.0. Default is 100.0
mergeLayers

boolean

If true, the layers of the artwork are merged.
Default: false

parent

object

Read-only. The object’s container.

scaleLineweights

boolean

If true, line weights are scaled by the same
factor as the rest of the drawing.
Default: false

selectedLayoutName

string

The name of the layout in the drawing to
import.

typename

string

Read-only. The class name of the object.

unit

AutoCADUnit

The unit to map to.
Default: AutoCADUnit.Millimeters

unitScaleRatio

double

The ratio by which to scale while mapping
units. Default: 1.0

CHAPTER 1: JavaScript Object Reference

OpenOptionsFreeHand

113

OpenOptionsFreeHand
Options for opening a FreeHand file.

OpenOptionsFreeHand properties
Property

Value type

What it is

convertTextToOutlines

boolean

If true, all text is converted to vector paths; preserves the
visual appearance of type. Default: false

importSinglePage

boolean

If true, imports only the page specified in the pageToOpen
property. Default: true

pageToOpen

long

The number of the page to import when opening a
multipage document. Valid only when importSinglePage is
true.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

CHAPTER 1: JavaScript Object Reference

OpenOptionsPhotoshop

114

OpenOptionsPhotoshop
Options for opening a Photoshop document, used with the open method.

OpenOptionsPhotoshop properties
Property

Value type What it is

layerComp

string

The name of the layer comp to use when the document is
converted.

preserveHiddenLayers

boolean

If true, preserve hidden layers when the document is
converted. Default: false.

preserveImageMaps

boolean

If true, preserve image maps when the document is converted.
Default: true.

preserveLayers

boolean

If true, preserve layers when the document is converted.
Default: true.

preserveSlices

boolean

If true, preserve slices when the document is converted.
Default: true.

typename

string

Read-only. The class name of the object.

CHAPTER 1: JavaScript Object Reference

PageItem

115

PageItem
Any art item. Every art item and group in a document is a page item. You may refer to a page item as an
element of a document, layer, or group item.
The PageItem class gives you complete access to every art item contained in an Illustrator document. The
PageItem class is the superclass of all artwork objects in a document. The CompoundPathItem, GroupItem,
MeshItem, PathItem, PlacedItem, PluginItem, RasterItem, and TextFrame classes each inherit a set of
properties from the PageItem class.
You cannot create a PageItem directly, you must create one of the specific PageItem subclasses, such as
PathItem.

PageItem properties
Property

Value type

What it is

artworkKnockout

KnockoutState

Is this object used to create a knockout.

blendingMode

BlendModes

The mode to use when compositing this object. An object
is considered composited when its opacity is set to less
than 100.0 (100%).

controlBounds

rect

Read-only. The bounds of the object including stroke
width and controls.

editable

boolean

Read-only. If true, this page item is editable.

geometricBounds

rect

Read-only. The object’s bounds excluding the stroke
width.

height

real

The height of the page item, calculated from the
geometric bounds. Range: 0.0 to 16348.0

hidden

boolean

If true, this page item is hidden.

isIsolated

boolean

If true, this object is isolated.

layer

Layer

Read-only. The layer to which this page item belongs.

left

number (double) The left position of the art item.

locked

boolean

If true, this page item is locked.

name

string

The name of this page item.

note

string

The note assigned to this item.

opacity

real

The opacity of this object, where 100.0 is completely
opaque and 0.0 is completely transparent.

parent

object

Read-only. The parent of this object.

pixelAligned

boolean

True if this item is aligned to the pixel grid.

position

point

The position (in points) of the top left corner of the item in
the format {x, y}. Does not include stroke weight.

CHAPTER 1: JavaScript Object Reference

PageItem

116

Property

Value type

What it is

selected

boolean

If true, this object is selected.

sliced

boolean

If true, preserve slices.

tags

Tags

The collection of tags associated with this page item.

top

number (double) The top position of the art item.

typename

string

Read-only. The class name of the object.

URL

string

The value of the Adobe URL tag assigned to this page item.

visibilityVariable

anything

The visibility variable to which this page item path is
bound.

visibleBounds

rect

Read-only. The object’s visible bounds, including stroke
width of any objects in the illustration.

width

real

The width of the page item, calculated from the geometric
bounds. Range: 0.0 to 16348.0

wrapInside

boolean

If true, the text frame object should be wrapped inside
this object.

wrapOffset

number (double) The offset to use when wrapping text around this object.

wrapped

boolean

If true, wrap text frame objects around this object (text
frame must be above the object).

zOrderPosition

number (long)

Read-only. The drawing order of the art within its group or
layer.

PageItem methods
Method
bringInPerspective
(posX,
posY,
perspectiveGridPlane)

resize
(scaleX,
scaleY
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidths]
[,scaleAbout])

Parameter type

Returns

What it does

Nothing

Places art object(s) in a
perspective grid at a specified
position and grid plane.

Nothing

Scales art object(s).

number
number
PerspectiveGrid
PlaneType

number (double)
number (double)
boolean
boolean
boolean
boolean
number (double)
Transformation

CHAPTER 1: JavaScript Object Reference

PageItem

Method

Parameter type

rotate
(angle
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,rotateAbout])

number (double)
boolean
boolean
boolean
boolean
Transformation

transform
(transformationMatrix
[,changePositions]
[,changeFillPatterns]
[,changeFillGradients]
[,changeStrokePattern]
[,changeLineWidth]
[,transformAbout])

matrix
boolean
boolean
boolean
boolean
number (double)
Transformation

translate
([deltaX]
[,deltaY]
[,transformObjects]
[,transformFillPatterns]
[,transformFillGradents]
[,transformStrokePattern])

number (double)
number (double)
boolean
boolean
boolean
boolean

zOrder
(zOrderCmd)

ZOrderMethod

117

Returns

What it does

Nothing

Rotates art object(s).

Nothing

Transforms art object(s) using a
transformation matrix.

Nothing

Repositions art object(s).

Nothing

Arranges the art relative to other
art in the group or layer.

CHAPTER 1: JavaScript Object Reference

PageItems

118

PageItems
A collection of page item objects. Provides complete access to all the art items in an Illustrator document
in the following classes:
CompoundPathItem
GraphItem
GroupItem
LegacyTextItem
MeshItem
NonNativeItem
PathItem
PlacedItem
PluginItem
RasterItem
SymbolItem
TextFrameItem

You can reference page items through the PageItems property in a Document, Layer, or Group. When you
access an individual item in one of these collections, the reference is a page item of one of a particular
type. For example, if you use PageItems to reference a graph item, the typename value of that object is
GraphItem.

PageItems properties
Property

Value type

What it is

length

number

Read-only. The number of objects in the collection.

parent

object

Read-only. The parent of this object.

typename

string

Read-only. The class name of the referenced object.

PageItems methods
Method

Parameter type

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

PageItem

Gets the first element in the collection with the
specified name.

PageItem

Gets an element from the collection.

Nothing

Deletes all elements in this collection.

CHAPTER 1: JavaScript Object Reference

PageItems

Getting references to external files in page items
Before running this script, open a document that contains one or more linked images.
// Gets all file-references in the current document using the pageItems object,
// then displays them in a new document
if ( app.documents.length > 0 ) {
var fileReferences = new Array();
var sourceDoc = app.activeDocument;
var sourceName =sourceDoc.name;
for ( i = 0; i < sourceDoc.pageItems.length; i++ ) {
artItem = sourceDoc.pageItems[i];
switch ( artItem.typename ) {
case "PlacedItem":
fileReferences.push( artItem.file.fsName );
break;
case "RasterItem":
if ( ! artItem.embedded ) {
fileReferences.push( artItem.file.fsName );
}
break;
}
}
// Write the file references to a new document
var reportDoc = documents.add();
var areaTextPath = reportDoc.pathItems.rectangle( reportDoc.height,0,
reportDoc.width, reportDoc.height );
var fileNameText = reportDoc.textFrames.areaText( areaTextPath );
fileNameText.textRange.size = 24;
var paragraphCount = 3;
var text = "File references in \'" + sourceName + "\':\r\r";
for ( i = 0; i < fileReferences.length; i++ ) {
text += ( fileReferences[i] + "\r" );
paragraphCount++;
}
fileNameText.contents = text;
}

119

CHAPTER 1: JavaScript Object Reference

Paper

Paper
Associates paper information with a paper name. Paper objects are used by Printer objects.

Paper properties
Property

Value type

What it is

name

string

The paper name.

paperInfo

PaperInfo

The paper information.

typename

string

Read-only. The class name of the object.

120

CHAPTER 1: JavaScript Object Reference

PaperInfo

PaperInfo
Paper information for use in printing documents.

PaperInfo properties
Property

Value type

What it is

customPaper

boolean

If true, it is a custom paper.

height

number (double)

The paper’s height in points.

imageableArea

array of 4 numbers

The imageable area.

typename

string

Read-only. The class name of the object.

width

number (double)

The paper’s width in points.

Finding paper information
// Displays the papers and paper sizes available for the 2nd printer in a text frame
var docRef = documents.add();
var itemRef = docRef.pathItems.rectangle(600, 300, 200, 100);
var textRef = docRef.textFrames.add();
textRef.top = 600;
textRef.left = 50;
// get paper objects for 2nd printer
var printerRef = printerList[1];
textRef.contents = printerRef.name;
textRef.contents += " paper list:\r";
var paragraphCount = 2;
// get details of each paper
var iCount = printerRef.printerInfo.paperSizes.length;
for( var i=0; i 0 ) {
doc = app.activeDocument;
paragraphCount = 0;
for ( i = 0; i < doc.textFrames.length; i++ ) {
paragraphCount += doc.textFrames[i].paragraphs.length;
}
}

CHAPTER 1: JavaScript Object Reference

ParagraphStyle

ParagraphStyle
Associates character and paragraph attributes with a style name. The style object can be used to apply
those attributes to the text in a TextFrame object. See Creating and applying a paragraph style below.

ParagraphStyle properties
Property

Value type

What it is

characterAttributes

CharacterAttributes

Read-only. The character properties for the text
range.

name

string

The paragraph style’s name.

paragraphAttributes

ParagraphAttributes

Read-only. The paragraph properties for the text
range.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

ParagraphStyle methods
Method

Parameter type

applyTo
(textItem
[,clearingOverrides])

object

remove
()

Returns

What it does

Nothing

Applies this paragraph style to the
specified text item.

Nothing

Deletes the object.

boolean

127

CHAPTER 1: JavaScript Object Reference

ParagraphStyles

ParagraphStyles
A collection of ParagraphStyle objects.

ParagraphStyles properties
Property

Value type

What it is

length

number

Read-only. Number of elements in the collection.

parent

object

Read-only. The object’s container.

typename

string

Read-only. The class name of the object.

ParagraphStyles methods
Method

Parameter type

add
(name)

string

getByName
(name)

string

index
(itemKey)

string, number

removeAll
()

Returns

What it does

ParagraphStyle

Creates a named paragraph style.

ParagraphStyle

Get the first element in the collection with the
provided name.

ParagraphStyle

Gets an element from the collection.

Nothing

Deletes all elements in the collection.

128

CHAPTER 1: JavaScript Object Reference

Creating and applying a paragraph style
// Creates a new document with 1 text frame and 3 paragraphs
// gives each paragraph a different justification, then creates
// a paragraph style and applies it to all paragraphs
var docRef = documents.add();
var pathRef = docRef.pathItems.rectangle(600, 200, 200, 400);
var textRef = docRef.textFrames.areaText(pathRef);
textRef.paragraphs.add("Left justified paragraph.");
textRef.paragraphs.add("Center justified paragraph.");
textRef.paragraphs.add("Right justified paragraph.");
textRef.textRange.characterAttributes.size = 28;
// change the justification of each paragraph
// using the paragraph attributes object
var paraAttr_0 = textRef.paragraphs[0].paragraphAttributes;
paraAttr_0.justification = Justification.RIGHT;
var paraAttr_1 = textRef.paragraphs[1].paragraphAttributes;
paraAttr_1.justification = Justification.CENTER;
var paraAttr_2 = textRef.paragraphs[2].paragraphAttributes;
paraAttr_2.justification = Justification.LEFT;
// create a new paragraph style
var paraStyle = docRef.paragraphStyles.add("LeftIndent");
// add some paragraph attributes
var paraAttr = paraStyle.paragraphAttributes;
paraAttr.justification = Justification.LEFT;
paraAttr.firstLineIndent = 10;
// apply the style to each item in the document
var iCount = textRef.paragraphs.length;
for(var i=0; i

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : No
Encryption                      : Standard V1.3 (40-bit)
User Access                     : Print, Annotate, Fill forms, Extract, Assemble, Print high-res
XMP Toolkit                     : Adobe XMP Core 5.4-c005 78.150055, 2012/11/19-18:45:32
Copyright                       : Adobe System Inc.2015
Producer                        : Acrobat Distiller 15.0 (Windows)
Keywords                        : scripting API, JavaScript
Format                          : application/pdf
Title                           : Adobe Illustrator CC 2015 Scripting Reference: JavaScript
Creator                         : Adobe System Inc.
Description                     : Illustrator SDK: scripting with JavaScript
Create Date                     : 2016:11:29 10:19:21Z
Creator Tool                    : FrameMaker 2015.1
Modify Date                     : 2016:11:29 17:42:22+05:30
Metadata Date                   : 2016:11:29 17:42:22+05:30
Document ID                     : uuid:d6fa009e-45c0-4d89-96f5-bc1d6d4232f0
Instance ID                     : uuid:0f556ac6-7856-4960-b37b-380087747421
Page Mode                       : UseOutlines
Page Count                      : 255
Author                          : Adobe System Inc.
Subject                         : Illustrator SDK: scripting with JavaScript
EXIF Metadata provided by EXIF.tools

Navigation menu