Illustrator (Desktop) SDK/Scripting Issues
129 results found
-
Update Samples to not require MFC
The Samples included with the SDK cannot currently be compiled on Windows unless MFC was installed as part of the Visual Studio installation procedure.
Making the Samples requires two small things:
- Add the following include below the SDKDef.h include in VersionInfo.rc
include "verrsrc.h"
- Change the "afxres.h" include in the .rc of all plugins to instead include "winuser.h"
Doing so will make MFC optional, and not required; ultimately, including 'afxres.h' is including the two headers outlined above so it's just introducing an unnecessary middle man who can be safely bypassed.
4 votes -
Applescript export PNG in 300 DPI
Using applescript, we can't export artwork in 300 DPI in format PNG.
in the last version, the export PSD is not as beautiful as the export menu.
Why ?4 votes -
Bug: Before and After Export Notifiers Do Not Fire When Export As is Used From the Menu
The below menu command notifiers do not fire when the export option is used:
kAIExportCommandPreNotifierStr "AI Command Notifier: Before Export"
kAIExportCommandPostNotifierStr "AI Command Notifier: After Export"Other menu notifiers do fire, such as "AI Command Notifier: Before Save As" and "AI Command Notifier: After Save As"
4 votes -
Updating annotation drawings as bezier control points are dragged
Hello,
I'm working on an Illustrator plugin to help visualise bezier curve continuity. Screenshot: https://i.imgur.com/rxgqDJL.png
I wanted to ask if there's a way to update artwork annotations as the user drags a bezier path control point? Currently my plugin only updates the annotation drawing once you let go.
I assume this is possible because Illustrator seems to be able to do it for showing useful information such as alignment as you edit curves.
Some extra technical details in case it helps... :)
I started this project using the Annotator example project from the sdk as a starter.
In my plugin…
4 votes -
[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:
rotateAngleActual 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 -
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' EffectI'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 -
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 -
Vertically alignChildren in ScriptUI does not align properly
In the ScriptUI documentation, there is an alignChildren attribute: "Tells the layout manager how to align children of this container that are not of the same size in a column or row". The issue of vertical alignment of UI objects in the scripts dialog box persists from version to version of Illustrator.
As we can see in the image, only the top alignment seems to be correct. The center alignment is shifted up, and the bottom alignment does not reach the bottom. At the same time, native UI dialogs contain the correct alignment. Thus script interfaces always look less professional.
…
3 votes -
check a keyboard key state in SDK
I often need a way to check if a specific keyboard key is currently pressed. For example, while a tool is being dragged, allow users to press the 'W' or 'E' key as they would a modifier like Shift or Alt/Option.
3 votes -
Please update "Planet X" in backend to "Live Paint"
Actions read from API are named "Planet X".
In AI menu, they are "Live Paint"Additionally, there is one typo: "Marge Planet X" = "Merge Live Paint"
When Loupedeck reads the actions from API, they appear with outdated names in Loupedeck UI.
3 votes -
Update the VSCode ExtendScript Debugger
This is an essential tool.
Too many issues to mention here - and that's just on a PC. It doesn't work at all on ARMx64
The community needs this kept up to date!
3 votes -
Illustrator 25.2 missing scriptability Info.plist entry
Illustrator's Info.plist file no longer has an entry for
NSAppleScriptEnabled
. That means normal attempts to open its scripting dictionary fail.3 votes -
Commands from Special characters / Whitespace section gives an error
A simple script:
app.executeMenuCommand('~copyright')
gives an error 1200: 1346458189 ('PARM')3 votes -
Fails to retrieve file creation date | AI 2020, MacOS Catalina
This issue appears only on MacOS Catalina.
Steps to reproduce:
File(file_path).created.getTime()
3 votes -
Allow C++ SDK to load swatch library (ase) from filepath
Currently, with ExtendScript, we're able to load a swatch library from a filepath and show its panel. In the C++ SDK, we're only able to open a library with the OpenNthLibrary function from the SwatchLibrariesSuite.
It would be nice, similar to ExtendScript, to be able to load an .ase from a filepath and open the panel.
3 votes -
Using method duplicate() on a group of threaded text frame items will lose threading
Hi together,
if we duplicate a group of threaded text frame items to a different Illustrator document the story's threaded text frame items will not be threaded anymore in the target document.If you duplicate the group in the same document the threaded text frame items remain threaded.
All details here at Adobe Illustrator Scripting Forum:
[BUG] copying threaded text-frames.
Silly-V Mar 22, 2019 9:30 AM
https://forums.adobe.com/message/10991060#10991060One has to rethread the text frame items in the target document.
That should not be necessary.No issue if we copy and paste grouped and threaded text frame items using the menu…
3 votes -
Last frame in a story: textFrameItem.nextFrame is not null
Hi together,
the value of nextFrame of the last textFrameItem in a story should always be null. Otherwise you could thread the outport of a text frame item with the inport of the same text frame item.And indeed that's the case!
See details in this thread at the Adobe Illustrator Scripting Forum:
- Re: [BUG] copying threaded text-frames. Laubender Mar 30, 2019 7:42 PM (in response to Laubender) https://forums.adobe.com/message/11004207#11004207
Since this IS POSSIBLE it creates a rather strange text composition in the affected story. So my suggestion: nextFrame of the last threaded text frame item in a story should always…
3 votes -
Export jpg using script to specific dpi
Export jpeg using script to specific dpi.
3 votes -
[BUG] Error during evaluation of conditional (ternary) operator
The script in the Illustrator produces an error during evaluation of a conditional expression that includes a nested conditional expression without parenthesis.
This breaks JavaScript optimization tools e.g. Google Closure Compiler.
Scenario:
alert(true ? true ? 1 : 2 : 3);Expected:
Standard dialog with message: "1".Actual:
Dialog with message "Error 25: Expected: :."Workaround:
alert(true ? (true ? 1 : 2) : 3);System info:
Illustrator Version: 23.0.1
OS: OS X
Version: 10.14
System Architecture: x643 votes -
Add Javascript API for swatches functionalities
There are many missing feature that we can not handle using javascript scripting, also may be apple script.
- Merge swatches via script
- Suppress merge swatch conflict dialog via script or do it in the background by default value.
3 votes
- Don't see your idea?