Skip to content

Illustrator (Desktop) SDK/Scripting Issues

77 results found

  1. [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
    9 votes
    How important is this to you?
  2. addDocumentNoUI methods argument not selectable.

    1.Your version of Adobe Illustrator
    Illustrator ver.21 or later.

    2.The steps you were taking when you experienced the issues
    When we run addDocumentNoUI method, we can set startupPreset.
    However, It always sets "Web" preset.

    3.Your expected result
    When we select "Art & Illustration" document open with appropriate preset.

    4.Your actual result
    All the time we got a document made with "Web" preset.

    Here is a sample code of NoUI scripting.

    var dc = app.documents.addDocumentNoUI("Art & Illustration");
    //add some objects
    dc.saveNoUI(File("~/Desktop/testNoUI.ai"));
    dc.closeNoUI();

    After run it and open in Illustrator, we will find it used Web preset.
    We want to choose appropriate…

    9 votes
    How important is this to you?

    var dc = app.documents.addDocumentWithDialogOption(“Art & Illustration”, false);
    //add some objects
    dc.saveAs(File(”~/Desktop/testNoUI.ai“));
    dc.close(SaveOptions.DONOTSAVECHANGES);

    Above script works for creating, saving and close the document without UI. The document preset is localized, if you are using locale other than english, you should pass the localized name of preset to addDocumentWithDialogOption method.

  3. [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?
  4. 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?
  5. [Typo] Document.rearrangeArtboards() of Illustrator JavaScript Reference.pdf

    There is a typo in rearrangeArtboards in Illustrator JavaScript Scripting Reference.pdf. It cannot execute as per the document. Please correct it.

    I have checked and it was wrong from CS5 to current version (2022 v2 - Feb 2022).

    Expected Name:

    rearrangeArtboards

    Actual Name:

    rearrangeArboards ("t" is missing from Artboards)

    8 votes
    How important is this to you?
  6. Control the angle, length of gradients and other

    ExtendScript does not allow you to control the length, angle, or other parameters of gradients. These are all read-only attributes. Script authors can only work with color stops.

    For example, to rotate a gradient, we have to use the rotate() method, which has another problem. The angle of such a gradient is not copied to another object with the Eyedropper Tool: https://medium.com/@aiscripts/gradient-rotation-bug-24d7a6f6038f

    The fillColor assignment commands (selection[1].fillColor = selection[0].fillColor) carry over the base gradient, losing other properties. This reduces the ability to automate gradients via ExtendScript.

    Also ignores other Uservoices:
    1) https://illustrator.uservoice.com/forums/908050-illustrator-desktop-sdk-scripting-issues/suggestions/44461230-adjusting-one-gradient-causes-changes-to-unrelated
    2) https://illustrator.uservoice.com/forums/908050-illustrator-desktop-sdk-scripting-issues/suggestions/40296880-erroneous-fillcolor-type-one-shapes-with-freeform
    3) https://illustrator.uservoice.com/forums/333657-illustrator-desktop-feature-requests/suggestions/38435974-gradient-swatch-includes-angle-and-position-pleas

    7 votes
    How important is this to you?
  7. Activating artboard with a script does not update the Artboards panel

    If you click inside of an artboard with a mouse, it gets the 'active' flag and becomes selected in Artboards panel as well. So if you press Shift+O to pick Artboard Tool, you see its name and dimensions.
    However, if you use method setActiveArtboardIndex() — the artboard still gets the active black border, but the panel stays unrefreshed, and if you pick the tool you get the information about a different artboard.

    7 votes
    How important is this to you?
  8. [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?
  9. 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?
  10. app.selectTool('Adobe Intertwine Zone Marker Tool') does not work

    When I run the following script, the Adobe Intertwine Zone Marker Tool starts up and I can select the area where I want to change the overlap like the lasso tool. However, nothing happens after the selection.

    app.selectTool('Adobe Intertwine Zone Marker Tool')
    

    Expected Result

    The overlap of the selected area is changed.

    Actual Result

    The line will remain as if it was drawn with the lasso tool. The overlap is not changed.

    Enviroment

    • macOS 11.7
    • Illustrator 27.1.1
    6 votes
    How important is this to you?

    An intended way of picking up the hidden Zone Marker tool via a script is to enter the Intertwine mode using these commands:

    app.executeMenuCommand('Partial Rearrange Make') — when an intertwine object is not created yet, and

    app.executeMenuCommand('Partial Rearrange Edit') — when the object already exists, as per comments by the OP.

  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. Wrong short-discription in omv.xml

    macOS10.14.7 / IllustratorCC 26.3.1

    In the following omv file, the shortdesc(short description) of each property of the "TextAntialias" class in lines 833 to 865 is identical to the one for the previous "TextType" class.
    (以下のomvファイル、833行目〜865行目の「TextAntialias」クラスの各プロパティのショートディスクリプションが一つ前のTextTypeのものと同一です。)

    /Library/Application Support/Adobe/Scripting Dictionaries CC/Illustrator 2022/omv.xml

    ...
    <classdef name="TextAntialias" enumeration="true">
    <shortdesc>The type of text antialiasing.</shortdesc>
    <elements type="class">
    <property name="NONE" rwaccess="readonly">
    <shortdesc>Text from a point.</shortdesc>
    <datatype>
    <type>int</type>
    <value>1</value>
    </datatype>
    </property>
    <property name="SHARP" rwaccess="readonly">
    <shortdesc>Text within an area.</shortdesc>
    <datatype>
    <type>int</type>
    <value>2</value>
    </datatype>
    </property>
    <property name="CRISP" rwaccess="readonly">
    <shortdesc>Text on a path.</shortdesc>
    <datatype>
    <type>int</type>
    <value>3</value>
    </datatype>
    </property>
    <property name="STRONG" rwaccess="readonly">
    <shortdesc>Text on a path.</shortdesc>
    <datatype>
    <type>int</type>
    <value>4</value>
    </datatype>
    </property>
    </elements>…

    5 votes
    How important is this to you?
  13. firstLineIndent can’t be set to zero

    Create a text object, type some text, keep it selected and run the script:

    activeDocument.textFrames[0].paragraphs[0].paragraphAttributes.firstLineIndent = 20;
    alert(activeDocument.textFrames[0].paragraphs[0].paragraphAttributes.firstLineIndent);

    activeDocument.textFrames[0].paragraphs[0].paragraphAttributes.firstLineIndent = 0;
    alert(activeDocument.textFrames[0].paragraphs[0].paragraphAttributes.firstLineIndent);

    You have two alerts saying 20, while the second one should show and actually set the first line indent value to 0 — and it does not.

    5 votes
    How important is this to you?
  14. access opacity of TextRange

    There is no way to access the opacity of a textRange. This TextFrame has 100% opacity, but it contains two textRanges, one of which is at 50% opacity. I don't believe that there is a way to make everything 100% opaque from javascript.

    5 votes
    How important is this to you?
  15. Scripting Bug: importFile() no longer works in CC2018

    importFile() worked fine in CC2017, now in CC2018 it throws an "Illegal Argument" error.

    here's a small JavaScript to test. Open any document or create a blank file before running the script

    var f = File('c:/temp/Example File.pdf'); // to test, add a path to a valid file in your system

    var idoc = app.activeDocument; // have any document open

    idoc.importFile(f, false);

    5 votes
    How important is this to you?
  16. 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?
  17. 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…

    4 votes
    How important is this to you?
  18. Variable font support in scripts

    There doesn't seem to be any way to use variable fonts in scripts. There is an undocumented property TextFont.axisVector, but it is read-only. So there is no way to adjust the axes of a variable font via script, even though Illustrator has supported variable fonts for many years now.

    Relevant thread:
    https://community.adobe.com/t5/illustrator-discussions/scripting-variable-fonts-in-illustrator/td-p/9834514

    4 votes
    How important is this to you?
  19. Join command is unavailable when run from an action via a script

    We have an action that works, when launched form the Actions panel.
    Operations are simple:
    1. Copy
    2. Deselect All
    3. Paste in Front
    4. Join
    5. Join
    It is designed to create a new closed shape from two segments from different shapes.

    However, when we call this exact action from a script with a app.doScript, it doesn’t work, an error message 'The object "Join" is not currently available' is displayed.

    Please see the video.

    4 votes
    How important is this to you?
  20. Erroneous fillColor type one shapes with Freeform Gradients

    Trying to get the fillColor properties of shapes that feature Freeform Gradients

    • Using app.activeDocument.selection[0].fillColor
    • Returns a [GrayColor] instead of what we would expect to be a [GradientColor] of GradientType.FREEFORM
    4 votes
    How important is this to you?
  • Don't see your idea?

Illustrator (Desktop) SDK/Scripting Issues

Categories

Feedback and Knowledge Base