Illustrator (Desktop) SDK/Scripting Issues
-
33 votes
-
Please add feature for to make object as key object via script to perform align operations. Hi, I am a plugin developer, and there is a lot of features we are missing in Illustrator scripting that can be done manually in Illustrator. This is the one feature. Please add this feature so that we have some method or property to make the object as a key object to perform "Align to Key Object" operation via script.
30 votes -
Allow scripts (AppleScript, Javascript) to retrieve a full list of all selected layers Currently, you can ask Illustrator what layer is selected, but if a user has more than one layer selected, it won't give a list or array of all selected layers. It will still just give you one layer. So many scripts I write have to do with changing properties of multiple layers like batch renaming or batch recolouring. The workaround is to ask the end user to lock all layers they don't want to be affected. It would be much more natural for them to just select the layers they want to be affected.
25 votes -
Edit Appearances with Scripting Currently it appears only 1 appearance fill is available via scripting, and Illustrator spits out the value of whichever one is selected. What I'd like to be able to do, is loop through the appearances of layers for example, record those attributes(including layer opacity and blending modes) and apply those to fills within a single shape. As there are many more stacked attributes within appearances, it may not be this simple, but it'd be much appreciated.
17 votes -
Constrain Proportions button toggle app.preferences.setBooleanPreference('linkTransform',1);
makes the Constrain Width and Height Proportions button to toggle... but only internally, the button does not change.16 votes -
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 -
Access all variables necessary for each item's appearance Lots of obvious variables are missing from each type of item. I've not tested exhaustively so I've no doubt there'll be other examples, but here are a few I've recently run up against;
- fillColor and strokeColor are entirely missing from both text and group items. *where a path has multiple fills or strokes, you can't select which one is referenced, and the rest are inaccessible. *arrow heads *effects (eg. I'd like to be able to access properties of a 3D effect) *graphic styles (reference, rename, create, remove, edit)
14 votes -
selection geometricBounds and true geometricBounds for clipped objects Allow for access to the selection geometricBounds as a whole. Also bounds for the clipped area only (ignore hidden areas).
In Illustrator, the Transform window displays the position, width and height for all objects selected and it does not display clipped areas. when you size an object by entering a dimension, you don't have to worry about clipped areas. in scripting you do.
The geometricBounds, visibleBounds, controlBounds, height and width properties give you the size of clipped objects. for a couple of items you can check if each is clipped and if it is, you can then retrieve the first…
9 votes -
Bring back the old scripting forums Bring back the old scripting forums, the new "Community" forums are a joke. It's totally unintuitive and impossible to find anything scripting related as its all thrown in with general user stuff. Looks like all the money has been spent on "Badges" when all we want is easy to find help. Looks like all the historical data has mostly been removed as well so that's bad if you are looking for something someone may have answered in the past. Big step backwards...
9 votes -
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
Carlos9 votes -
GraphicStyle Aspect Hello,
I develop a plugin where I need to create/update/modify graphic style and/or Aspect for graphic item.
I try many solutions, search on the web but for the moment it's not possible.Could you please add support for creating/editing/deleting graphic style and aspect ?
It's very important for me ! And I think many developpers can be interesting with this features.Thanks a lot !
Loïc7 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.6 votes -
ExportOptionsJPEG both resolution and quality We can export a JPEG using ExportOptionsJPEG() — but it allows to set only quality, not a resolution.
We can use ImageCaptureOptions() instead to set a resolution — but it won’t allow to set a quality, because seems to be designed for PNG (and substituting a format to JPG gives questionable results).
We need to be able to export JPEG images, controlling both quality and resolution, without using app.doScript() trick — it fails on Cyrillic folder names.
6 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.
6 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 -
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 -
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 -
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 -
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
- Don't see your idea?