Illustrator (Desktop) SDK/Scripting Issues
121 results found
-
Remove Security from Scripting Guides
Why are Scripting Guides/References password protected now?
many times we need to copy/paste sample scripts to help new users in the forums.
Please remove protection.
thanks
Carlos11 votes -
Drag-and-drop bug running scripts containing app.doScript()
Watch the "drag-and-drop-bug.mp4" video, which demonstrates a specific but with the Adobe Illustrator's JS engine handling scripts which are dragged to different areas of the screen in different ways.
In most cases, a drag-and-dropped script will work as intended. But for 10 years in CS6-CC 2023 versions there is a limited bug handling the script if dragged to the “wrong” area of the program window.
If the script contains an action and a user drags it onto the document window, it may not work correctly. If the script selects objects one by one and applies an action to them, it…
10 votes -
Illustrator v25.1 doesn't recognize some AppleScript commands
Illustrator v25.1 doesn't recognize some AppleScript commands, specifically important to me: Apply Character Styles, Embed, and Rotate. Delivers error: Illustrator doesn't understand the message. Has never happened in any previous version of Illustrator.
10 votes -
C#/ .NET api
I'd really value the ability to extend illustrator with c#.
I know adobe is cross platform, but surely theres enough of a windows user base to make this beneficial.
10 votes -
More notifiers for live effects
Ai provides a live effect notifier that triggers when an object is scaled, but not when it’s moved. Same problem with rotating — the absence of these does not allow to recalculate effects properly, like one when an object with a shadow is rotated, and a user wants to rotate the shadow with the object (there is a quite popular request about this one already — https://illustrator.uservoice.com/forums/333657-illustrator-desktop-feature-requests/suggestions/32468149-effects-do-not-rotate-drop-shadow-or-scale-e-g)
9 votes -
Isolate/Unisolate commands
Commands:
//menu Other Object\Isolate Selected Object
app.executeMenuCommand('enterFocus');//menu Other Object\Exit Isolation Mode
app.executeMenuCommand('exitFocus');Return error:
an Illustrator error occurred: 1346458189 ('PARM').This applies not only to isolation, but also to some other commands.
9 votes -
kAINamedStyleListChangedNotifier is not emitted when a Graphic Style is updated
If you hold ALT and drag some art into a Graphic Style, it updates, but the notifier is not sent. This has been happening since at least the original CC. It used to work before that.
9 votes -
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 votesvar 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.
-
[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 -
kATEDocumentResourceChangedNotifier not sent when character/paragraph styles are changed
According to the documentation for kATEDocumentResourceChangedNotifier, it is supposed to be "Sent when ATE document resources, such as named style, have changed."
I have never found this to be true, in any version since the ATE was added. This has always been a serious pain point, because we build small previews of text styles and we have to rebuild them every time we open a UI that shows them, because we have no way of knowing if they have changed (or if they even still exist, or any have been added!).
Since it's never been sent before, there can't be…
8 votes -
[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)
7 votes -
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…7 votes -
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 -
CEP: Unique identifier for items and layers
Please provide unique identifiers for all page items and layers via script.
Right now it is not possible to save IDs of page items/layers in a variable or array and retrieve them at a later point in the script.
At first I could not believe it that there are no IDs. This is total basic and should be a no-brainer and default.
Thanks!P.S. Current workaround: set custom tag on items. This works only as long as the user is not duplicating an items. Than you have two items with the same tag and it is not unique anymore.
Workaround…7 votes -
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/142477916 votes -
Email newsletter for third-party developers
Could Adobe please offer an email newsletter updating third-party plugin developers of changes that may affect or even break their plugins? It's helpful that there is a "known issues" web page, which may or may not identify problems known only to Adobe, but rather than every small developer checking this page every day, perhaps someone at Adobe could send one message to all subscribed developers. Too often, changes quietly happen and developers must scramble to help each other.
One recent example is AI 28.1 corrupting some 28.0 preference files, and a major example would be when Mac AI 25.1 required…
6 votes -
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-pleas6 votes -
Install new tools in toolbox by default
When a user adds a new third-party plugin, its tools should be added to the toolbox, where users expect to find it, rather than hidden in the drawer, which many users don't even know about. Hiding new tools creates frustration for users and extra support hassle for developers.
6 votes -
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 votesAn 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.
-
Executing Extendscript/Javascript from the C++ API
As far as I know there is no possible way to execute an Extendscript via the C++ API.
In InDesign we can do so by providing the script as a string and fetching simple output results.Our customers can customize our Plugins by providing their own script in our custom scripting language. Unfortunately our language does not cover all use cases and needs to be constantly expanded. With support for Extendscript/Javascript execution from the C++ API we could circumvent the problem and give the users a lot of flexibility and power.
6 votes
- Don't see your idea?