new skill adobe-illustrator-scripting (#1448)

* new skill adobe-illustrator-scripting

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
John Haugabook
2026-04-27 23:37:06 -04:00
committed by GitHub
parent 1aea01a677
commit 2a8de795ca
6 changed files with 958 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
# Illustrator JavaScript Object Model Quick Reference
## Containment Hierarchy
```
Application (app)
└─ Document
├─ Layer
│ ├─ pathItems[] → PathItem → PathPoint[]
│ ├─ compoundPathItems[] → CompoundPathItem
│ ├─ textFrames[] → TextFrame
│ │ ├─ characters[] → TextRange (single char)
│ │ ├─ words[] → TextRange (word)
│ │ ├─ paragraphs[] → TextRange (paragraph)
│ │ ├─ lines[] → TextRange (line)
│ │ └─ insertionPoints[]
│ ├─ placedItems[] → PlacedItem
│ ├─ rasterItems[] → RasterItem
│ ├─ meshItems[] → MeshItem
│ ├─ pluginItems[] → PluginItem
│ ├─ graphItems[] → GraphItem
│ ├─ symbolItems[] → SymbolItem → Symbol
│ ├─ groupItems[] → GroupItem (recursive pageItems)
│ ├─ nonNativeItems[] → NonNativeItem
│ └─ legacyTextItems[] → LegacyTextItem
├─ Artboard[]
├─ Swatch[] / Spot[] / Gradient[] / Pattern[]
├─ GraphicStyle[] / Brush[] / Symbol[]
├─ Story[]
├─ CharacterStyle[] / ParagraphStyle[]
├─ Variable[] / Dataset[]
└─ View[]
```
## Artwork Item Types (pageItems members)
| Type | typename | Collection | Notes |
|---|---|---|---|
| Path | `PathItem` | `pathItems` | Lines, shapes, freeform paths |
| Compound path | `CompoundPathItem` | `compoundPathItems` | Multiple paths combined |
| Group | `GroupItem` | `groupItems` | Contains nested pageItems |
| Text frame | `TextFrame` | `textFrames` | Point, area, or path text |
| Placed image | `PlacedItem` | `placedItems` | Linked external files |
| Raster image | `RasterItem` | `rasterItems` | Embedded bitmaps |
| Mesh | `MeshItem` | `meshItems` | Gradient mesh objects |
| Graph | `GraphItem` | `graphItems` | Chart/graph objects |
| Plugin item | `PluginItem` | `pluginItems` | Plugin-generated art |
| Symbol instance | `SymbolItem` | `symbolItems` | Instance of a Symbol |
| Non-native | `NonNativeItem` | `nonNativeItems` | Foreign objects |
| Legacy text | `LegacyTextItem` | `legacyTextItems` | Pre-CS text objects |
## Color Object Types
| Object | Color Space | Value Range | Notes |
|---|---|---|---|
| `RGBColor` | RGB | 0-255 per channel | `.red`, `.green`, `.blue` |
| `CMYKColor` | CMYK | 0-100 per channel | `.cyan`, `.magenta`, `.yellow`, `.black` |
| `GrayColor` | Grayscale | 0-100 | `.gray` (0=black, 100=white) |
| `LabColor` | Lab | L: 0-100, a/b: -128 to 127 | `.l`, `.a`, `.b` |
| `SpotColor` | Spot | tint 0-100 | `.spot`, `.tint` |
| `PatternColor` | Pattern | - | `.pattern`, `.matrix` |
| `GradientColor` | Gradient | - | `.gradient`, `.origin`, `.angle` |
| `NoColor` | None | - | Transparent/no fill |
## Common Scripting Constants
### Document and Color
- `DocumentColorSpace.RGB` / `.CMYK`
### Text
- `Justification.LEFT` / `.CENTER` / `.RIGHT` / `.FULLJUSTIFY` / `.FULLJUSTIFYLASTLINELEFT` / `.FULLJUSTIFYLASTLINECENTER` / `.FULLJUSTIFYLASTLINERIGHT`
- `TextType.POINTTEXT` / `.AREATEXT` / `.PATHTEXT`
- `FontBaselineOption.NORMALBASELINE` / `.SUPERSCRIPT` / `.SUBSCRIPT`
### Paths
- `PointType.SMOOTH` / `.CORNER`
- `StrokeCap.BUTTENDCAP` / `.ROUNDENDCAP` / `.PROJECTINGENDCAP`
- `StrokeJoin.MITERENDJOIN` / `.ROUNDENDJOIN` / `.BEVELENDJOIN`
### Transformations
- `Transformation.DOCUMENTORIGIN` / `.BOTTOM` / `.BOTTOMLEFT` / `.BOTTOMRIGHT` / `.CENTER` / `.LEFT` / `.RIGHT` / `.TOP` / `.TOPLEFT` / `.TOPRIGHT`
### Blend Modes
- `BlendModes.NORMAL` / `.MULTIPLY` / `.SCREEN` / `.OVERLAY` / `.SOFTLIGHT` / `.HARDLIGHT` / `.COLORDODGE` / `.COLORBURN` / `.DARKEN` / `.LIGHTEN` / `.DIFFERENCE` / `.EXCLUSION` / `.HUE` / `.SATURATIONBLEND` / `.COLORBLEND` / `.LUMINOSITY`
### Element Placement
- `ElementPlacement.PLACEATBEGINNING` / `.PLACEATEND` / `.PLACEBEFORE` / `.PLACEAFTER` / `.INSIDE`
### Z-Order
- `ZOrderMethod.BRINGTOFRONT` / `.SENDTOBACK` / `.BRINGFORWARD` / `.SENDBACKWARD`
### Save/Export
- `SaveOptions.SAVECHANGES` / `.DONOTSAVECHANGES` / `.PROMPTTOSAVECHANGES`
- `ExportType.PNG24` / `.PNG8` / `.JPEG` / `.SVG` / `.TIFF` / `.PHOTOSHOP` / `.AUTOCAD` / `.FLASH` / `.GIF`
- `Compatibility.ILLUSTRATOR8` through `.ILLUSTRATOR24`
- `PDFCompatibility.ACROBAT4` through `.ACROBAT8`
### Gradient
- `GradientType.LINEAR` / `.RADIAL`
### Variables
- `VariableKind.TEXTUAL` / `.IMAGE` / `.VISIBILITY` / `.GRAPH`
### User Interaction
- `UserInteractionLevel.DISPLAYALERTS` / `.DONTDISPLAYALERTS`
### Print
- `PrintArtworkDesignation.ALLLAYERS` / `.VISIBLELAYERS` / `.VISIBLEPRINTABLELAYERS`
## Unit Conversions
| From | To Points | Formula |
|---|---|---|
| Inches | Points | `inches * 72` |
| Centimeters | Points | `cm * 28.346` |
| Millimeters | Points | `mm * 2.834645` |
| Picas | Points | `picas * 12` |
| Em units | Points | `(emUnits * fontSize) / 1000` |