Illustrator (Desktop) SDK/Scripting Issues
108 results found
-
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.
5 votes -
Transparency Mask
There is no way to work with the transparency mask in the Script SDK. This is the least of the problems. But when creating scripts to modify objects with masks, developers expect masks to be modified along with the parent object. After all, we see the "Linked to Art" icon in the Transparency panel.
But what we have all these years as script developers: resize(), position, translate() modify the object, and its mask remains as it was.
I've counted about 10 of my own scripts that use similar commands. I also have a large collection of other developers' scripts, where…
9 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.
…
2 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 -
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.
-
[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 -
Change Adobe PDF settings without creating a PDF file
Does anyone know if there is a way to change Adobe PDF settings without saving the current file into a PDF file? More specifically, is there a way to turn on/off the "Preserve Illustrator Editing Capabilities" option using C++ SDK?
1 vote -
weird unicode file names in CEP panel scripts
Files with unicode names should report correctly in the documentAfterActivate and documentAfterSave events.
I just noticed that there are not only strange sequences of escaped and unescaped characters, but they can even differt between these two events.
A € sign produces 0x80 in the activate event and %e2 0x82 %ac in the save event1 vote -
46 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…
9 votes -
[SDK Feature Request] Annotator option to draw selection annotation last.
There is no option to draw the selection annotation last. Filled shapes and image annotations always block the selection annotation. See images for what i mean.
2 votes -
Illustrator 2022 (26.5.0) listStyle scripting issues
Starting with Illustrator 2022 (26.4.1), the ability to create bulleted and numbered lists has been implemented. Text to which lists are applied can be obtained in ExtendScript or AppleScript by using the listStyle property.
However, normal text that is not bulleted and numbered lists (hereinafter called "normal text") has no listStyle assigned to it, and referencing it causes an error. The following problem occurs.
Issue 1: ExtendScript and AppleScript cannot directly change lists to normal text
Expected state
For example, the following script (ExtendScript) can change a paragraph to normal text.
…var doc = app.documents[0] ; var targetParagraph = doc.selection[0].paragraphs[0]
11 votes -
settings raster effects value visible main screen
I need to view somewhere in the Illustrator interface, the value set in the "raster effects settings" panel.
Is there a scripted way to implement this?
I've created actions that set this value to 72ppi / 300ppi so that I can change it when the document becomes heavy and unmanageable (thanks to using only 1 CPU CORE, thanks Adobe ❤).
The problem is that if I save the file, I will probably save it at 72ppi, but for printing the effects are poor and you have to set them to 300ppi.
So having the value always visible on the screen,…2 votes -
exportFile doesn't work with NoUI document
trying to create a "NoUI" document and export as SVG like this:
opendoc = app.documents.addDocumentNoUI();
opendoc.exportFile(file, ExportType.SVG);I get the attached error in AI
I can't think of any other way to export an SVG via script. Obviously there are scripting things that don't work with NoUI documents, but it seems like this one should. Am I doing something wrong?
2 votes -
how can i call these functions in AI via script?
-I would like to open a Multipage PDF with settings set to open "all pages" and "import pages as links".
If the pdf has only one page import it also as a link (if possible do it)Import an Illustrator *.ai file Multi-layouts by importing them as links across multiple layouts.
Set flattener presets:
preset name
various parameters...
Select all (Select / All)
Run the command: Object / convert transparency / Previously saved preset / OK
I saw among the commands that there is an openOptionsFreeHand could I create a script that opens the freehand files for me?
How could…
1 vote -
Unexpected reset of selected swatches
app.activeDocument.swatches.getSelected() gets selected swatches in the document. If you select one path in a document and apply any selected color to it, the swatches will remain selected. But if many paths are selected, applying a swatch to any path resets the selected swatches.
The user has to manually select the swatches again each time he runs the scripts.
14 votes -
[Typo] ExportOptionsTIFF.IZWCompression of Illustrator JavaScript Reference.pdf
There is a typo in ExportOptionsTIFF in Illustrator JavaScript Scripting Reference.pdf, which fails to specify whether or not LZW compression is used. Please correct it.
I have checked and it was wrong from the CS6 version.
Expected Name: lZWCompression (begins with a lowercase L)
Actual Name: IZWCompression (begins with an uppercase i)The function name in the example is also wrong. exportFileToTIFF should be correct.
…Exporting to TIFF format // Exports current document to dest as a TIFF file with specified // options, dest contains the full path including the file name function exportFileToPSD (dest) { // <-- exportFileToTIFF if
5 votes -
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 -
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/98345144 votes -
variables.removeAll(); does not work
When I execute variables.removeAll();. error occurred: 1346458189 ('PARM').
On the other hand, dataSets.removeAll() works.1 vote
- Don't see your idea?