Skip to content

Illustrator (Desktop) SDK/Scripting Issues

131 results found

  1. Dialog display in the event of a path segment exceedance during script processing is displayed with 8191 pieces.

    Illustrator ver.29.3.1

    The current Illustrator specification allows "31999" segments to be included in a single path, but the exceedance error displayed during script execution is displayed at "8191" segments. This is the value of the limit in past versions and has not been updated when the specification was changed.

    When run the following script, we get an error dialog with 8191 segments, but there are 32000 path points and 31999 segments added to the path on the document.

    var depth = 8;
    var size = 500;
    var doc = app.activeDocument;
    var layer = doc.layers.add();
    layer.name = "Hilbert Curve";
    var pth…

    2 votes
    How important is this to you?
  2. Move gradient swatch to swatch group

    In new releases of Adobe Illustrator, it's now possible to move gradient swatches into swatch groups.

    Previously, we expectedly got an error when trying mySwatchGroup.addSwatch(myGradientSwatch) >>> an Illustrator error occurred: 561402708 ('TSv!')

    What's happening now...Same thing! The user can group gradients in the Illustrator interface, and the scripts are still unaware of this fix

    Mac OS. Adobe Illustrator CC 2025 v29.3

    2 votes
    How important is this to you?
  3. Access to recent files via a script

    Once upon a time, app.recentFiles returned an array of recently used files.
    It would be nice to have that feature back

    4 votes
    How important is this to you?
  4. Script cannot detect that app.openCloudDocument failed

    en

    When an error occurs during the execution of openCloudDocument, Illustrator forces a message in a dialog.

    The message is something like this. Not sure what it would be displayed in English.

    Cannot open file.

    The current account does not have access permission to this file. Contact the owner for more details.

    ![openclouderror1.png](openclouderror1.png)

    The message cannot be circumvented by enclosing it in a “try” syntax, nor can the error be caught in a “catch” statement. In other words, this message may stop the batch process.

    The ideal behavior is to be able to catch an error…

    3 votes
    How important is this to you?
  5. [Typo] app.OpenCloudDocument() of Illustrator JavaScript Reference.pdf

    There is a typo in app.OpenCloudDocument in Illustrator JavaScript Scripting Reference.pdf. The wrong function name is listed and developers and users cannot call OpenCloudDocument(). It would be helpful if it could be corrected.

    According to my research, this is wrong from CC 2021 version to the current (2025 v1).

    Expected Name (Correct):
    app.openCloudDocument ("o" in "open" is lowercase -> openCloudDocument)

    Actual Name (Wrong):
    app.OpenCloudDocument ("O" in "Open" is uppercase -> OpenCloudDocument)

    Attached Files
    * OpenCloudDocument.png

    6 votes
    How important is this to you?
  6. [Typo] Document.SaveToCloud() of Illustrator JavaScript Reference.pdf

    There is a typo in Document.SaveToCloud in Illustrator JavaScript Scripting Reference.pdf. The wrong function name is listed and developers and users cannot call SaveToCloud(). It would be helpful if it could be corrected.

    According to my research, this is wrong from CC 2021 version to the current (2025 v1).

    Expected Name:

    Document.saveToCloud ("s" is lowercase -> saveToCloud)

    Actual Name:

    Document.SaveToCloud ("S" is uppercase -> SaveToCloud)

    Attached Files:

    • SaveToCloud.png
    8 votes
    How important is this to you?
  7. [Scripting API] Give access to a SymbolItem's "anchor" and matrix

    It would be great to have access to a SymbolItem's "anchor" and matrix (as read/write properties). Setting a new anchor [x,y] would move the anchor (and the SymbolItem) to that point, and setting a new matrix would replace the SymbolItem's existing matrix.

    3 votes
    How important is this to you?
  8. Duplicating a group with a script does not change/update groupItems.length

    When you duplicate a group via script (check the video and screenshots) activeDocument.groupItems.length is not reflecting that. It stays the same. app.redraw() is not helping. Only when you set the new group to .selected = true you can force an update. But that slows down everything when you have a lot of groups.

    Video: https://drive.google.com/file/d/1dd0PyBRDBciNnUgnhGLV7Hf40rrG_vSb/view

    Steps to Reproduce:
    All with script!
    1. Create a group (put something in that group)
    2. Alert the activeDocument.groupItems.length (it's now 1)
    2. Duplicate the group.
    3. Alert the activeDocument.groupItems.length: it stays the same (1 instead of 2)
    Please take a look at the script…

    3 votes
    How important is this to you?
  9. DocumentRasterResolution - How do we set HighResolution? Please give an example of how to set and how to read document resolution. Thanks

    DocumentRasterResolution - How do we set HighResolution? Please give an example of how to set and how to read document resolution. Thanks.
    Example:
    DocumentRasterResolution.HighResolution; //Does nothing So how to do? Why is this not an app.documents.add() function or method to begin with? Why is the app.document.add so limited in parameters? I would think there would be a huge parameter list but there is not.

    3 votes
    How important is this to you?
  10. DocumentArtboardLayout under app.documents.add is broken

    var aDoc = app.documents.add(DocumentColorSpace.CMYK, 612.0, 792.0, 3, DocumentArtboardLayout.GridByCol, 40.0, 1);

    Running the above script.jsx GridByCol broken. I get two rows, should be a single column. Changed GridByCol to GridByRows and also outputs 2 rows of artboards. DocumentArtboardLayout is broken.

    3 votes
    How important is this to you?
  11. Change units in an open document

    For an active document, we can get the key value of the ruler units through the app.activeDocument.rulerUnits property.

    We can also create a new document with the desired units:
    var docPreset = new DocumentPreset;
    docPreset.units = RulerUnits.Centimeters;
    var newDoc = app.documents.addDocument("Web", docPreset);

    And can we switch to other ruler units in the document? NO! Because the app.activeDocument.rulerUnits property is read-only, not read/write.

    And it's not logical. So it just needs to be linked to the Document Setup > Units dialog mechanism.

    In Adobe Community or direct messages comes from users asking how to change units of measure. I came up…

    5 votes
    How important is this to you?
  12. [Typo] View rotateAngle property in omv.xml

    For several years, the same incorrect information about the document rotation property has been repeated in the omv.xml (Object Model Viewer) file in folder "Scripting Dictionaries CC". Checked in СС 2023, 2024, 2025

    /Library/Application Support/Adobe/Scripting Dictionaries CC/Illustrator [vers.]/omv.xml

    At the same time, the PDF documentation "Adobe Illustrator Scripting Reference: JavaScript", the property name is correct.

    Expected Property Name:
    rotateAngle

    Actual Property Name in omv.xml:
    rotate

    <classdef name="View" dynamic="true">
    ....
    <property name="rotate">
    <shortdesc>The rotation angle of this view.</shortdesc>
    <datatype>
    <type>number</type>
    </datatype>
    </property>
    ...
    </classdef>

    3 votes
    How important is this to you?
  13. [Typo] app.tracingPresetList of Illustrator JavaScript Reference.pdf

    There is a typo in app.tracingPresetList in Illustrator JavaScript Scripting Reference.pdf. The wrong property name is listed and developers and users cannot get tracingPreset. It would be helpful if it could be corrected.

    According to my research, this is wrong from CS2 version to the current (2024 v1).

    Expected Name:

    app.tracingPresetsList (add "s" to Preset -> Presets)

    Actual Name:

    app.tracingPresetList ("s" is missing from Presets)

    8 votes
    How important is this to you?
  14. AIArtStyleParser->CreateNewStyle not working in Illustrator 28.7 with SDK Build 130 and 709

    AIArtStyleParser->CreateNewStyle return 0 (no error) but also the pointer to the new AIArtStyleHandle is invalid.
    Also AIArtStyleParser->NewPaintFieldStroke doesn't work.

    It worked in previous Illustrator Beta releases with SDK Build 130 (April 2024)

    1 vote
    0 comments  ·  C++ SDK  ·  Admin →
    How important is this to you?
  15. When getting ink.name, encoding gets broken for non-Latin languages: Chinese, Japanese, Russian, etc.

    A script cannot support Chinese, Japanese and other languages when getting ink.name, and it displays garbled characters.

    var doc = app.activeDocument;
    var inkList = doc.inkList;
    var inkUsage = [];

    for (var i = 0; i < inkList.length; i++) {
    var ink = inkList[i];
    var inkName = ink.name;
    inkUsage.push(inkName);
    }

    alert(inkUsage.join("\n"));
    $.write(inkUsage.join("\n"));

    This test script above gives a result like in the screenshot attached.

    Problem found by Aprking

    Original discussion:
    https://community.adobe.com/t5/illustrator-discussions/how-to-make-the-script-support-chinese-japanese-and-other-languages-when-getting-ink-name/m-p/14247791

    6 votes
    How important is this to you?
  16. [BUG] exportFile() changes spaces to hyphens in file name

    //how to reproduce:
    app.activeDocument.exportFile(new File("~/desktop/test test"), ExportType.GIF);

    //types affected -  ExportType.PNG24,  .PNG8,  .JPEG, .GIF
    //types exporting with no unwanted hyphen - .TIFF, .SVG
    

    //persists on win and mac

    2 votes
    How important is this to you?
  17. Live Effect process loses spot color info in single spot color Raster

    In a Live Effect, a kRasterArt element, which is a raster of a single spot color, loses color information between kSelectorAIEditLiveEffectParameters and kSelectorAIGoLiveEffect.
    This especially becomes a problem when removing the Effect from the element.
    Reproducible steps:
    1. Rasterize an element with a spot fill, no stroke
    2. Apply 'Outer Glow' Effect
    3. Save, close, and reopen the document
    4. Remove 'Outer Glow' Effect

    I've copied the TwirlFilter sample code from the 2024 SDK, called it TestFilter and simplified the code. It has only been built and run on macOS.
    It demonstrates the color loss between these 2 selectors through…

    3 votes
    0 comments  ·  C++ SDK  ·  Admin →
    How important is this to you?
  18. Broken embedICCProfile in export

    For TIFF, PSD exports, there are new ExportOptionsPhotoshop() and new ExportOptionsTIFF() in the ExtendScript object model, and a Boolean attribute embedICCProfile that embeds a color profile in exports. But if we set it to true, the profile still won't be embedded.

    I've explored versions of Adobe Illustrator. Illustrator CS6 - embedICCProfile property worked, but in the next version of CC (v17) embedICCProfile was broken and in the next versions it didn't change, it's been ten years!

    How to test:
    1) Rename exportTif.txt to exportTif.jsx and run it. The script will export the first artboard of the document in TIFF to…

    8 votes
    How important is this to you?
  19. 1 vote
    0 comments  ·  AppleScript  ·  Admin →
    How important is this to you?
  20. Bug: JavaScript unary operators "+" and "-" do not function as documented for UnitValue objects

    According to the Illustrator ExtendScript documentation, applying the unary operators "+" or "-" to a UnitValue object should respectively produce the numeric value or the negated numeric value of the UnitValue. However, they instead respectively produce the UnitValue unmodified or the UnitValue with its value negated.

    Either the documentation or the behaviour should be updated to reflect the other.

    I observed this behaviour in Illustrator 28.5 on Mac OS Sonoma.

    The behaviour may be quickly tested with the following script:

    var uv = new UnitValue(2, "px");
    alert(
    "Results:" +
    "\nUnitValue unmodified: \"" + uv + "\" (" + (typeof uv)…

    3 votes
    How important is this to you?

    Nihiltres, UnitValue is an object with properties

    baseUnit - type of UnitValue data type

    type - type of String data type

    value - type of Numeric data type.

    When using unary operator on object, the underlying value property of the object is modified.

    Example:

    var uv = new UnitValue(2, "px");

    "-uv" will result in uv.value modified from "2" to "-2" and stays as Numeric data type.

    Any unary operator on object as whole will return the object itself.

    Alternatively you can achieve the result you expected by directly manipulating the value instead of the object

    var uv = new UnitValue(2, "px");

    "-uv.value" this will return the Numeric data type with negating the value, in this case it will convert the number 2 to -2

    I do see it is working as documented, I would like to hear your view with the above information.

    Unary operators (~, !,

← Previous 1 3 4 5 6 7
  • Don't see your idea?

Illustrator (Desktop) SDK/Scripting Issues

Categories

Feedback and Knowledge Base