Illustrator (Desktop) SDK/Scripting Issues
-
Unable to use file for "do javascript" in Illustrator 2020 Bug report:
Passing a JavaScript file (alias) to "do javascript" in Illustrator 2020, fails with the error "JavaScript code was missing".Also, if using a JavaScript string for "do javascript" and passing a file to "with arguments", it will be a missing File object in JavaScript.
Expected behavior:
As with Illustrator 2019, it is executed when a JavaScript file is passed. If a file is passed "with arguments", it becomes an existing File object.Japanese:
Illustrator 2020でdo javascriptにファイルを指定できないバグ内容:
Illustrator 2020でAppleScriptのdo javascriptにJavaScriptファイル(エイリアス)を渡すと「JavaScript code was missing」とエラーが起きて終了する。また,do javascriptにJavaScript文字列を使い,with argumentsにファイルを渡すと,JavaScriptでは行方不明のFileオブジェクトになる。
期待される動作:
Illustrator 2019までと同じように,JavaScriptファイルを渡すと正常に実行される。with argumentsにファイルを渡したときは存在するFileオブジェクトになる。24 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.
20 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.
19 votes -
Access to underlying Illustrator object handles via scripting The biggested pain point when implementing scripting support for plugins is that if you want to add objects that interact with built-in Illustrator script objects (LiveObjects) like Layers, Documents or PageItems. While it's possible to correctly parse whether you're being passed the correct scripting object (e.g. a Layer and not something else) you can't actually determine the handle for the specified object; that lives inside the ScriptingSupport.aip and has no public API.
Perhaps a small suite could be added that provides methods like this:
AIAPI AIErr (GetDocumenttHandle) (long hObject, AIDocumentHandle& outHandle);
AIAPI AIErr (GetLayerHandle) (long hObject, AILayerHandle& outHandle); …13 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.
13 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)
12 votes - fillColor and strokeColor are entirely missing from both text and group items.
-
CEP: Waaaay more events from AI to CEP Panels (e.g. selection changed) In a panel I would like to receive events from the host app - in this case AI.
Please provide events for
- selection changed
- layers added/changed
- items added (items of any kind)
- items deleted
- etcCurrent workarounds: polling (setTimer) for changes...thats far from ideal.
The current situation is more than sad (not regarding the lack of documentation).
11 votes -
Unicode support for annotation text AIAnnotationDrawerSuite::DrawText() takes an ai::UnicodeString, but when you pass it non-Latin1 characters, you just get the box character. I suspect that if I passed Japanese to the Japanese version of Illustrator, the characters would display correctly, but it'd useful if you could do it regardless of Illustrator version.
We are just starting to add translations of our plugin and currently AI tool tooltips & annotation text have to be kept as Latin1 or we run into trouble.
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.
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 -
[BUG CEP 8] HTML Extension Resize Issue on Navigation We are experiencing resizing issue in the latest CEP version. Our extension allows user to resize extension's window, however whenever any navigation occur, window size resets. Problem exists in Illustrator CC 2018 (22.0.1), everything is working fine in previous version (CC 2017).
We already tried different geometry settings and extension UI types, but problem persists and seems to be related to engine itself.
We successfully reproduced this issue with official git hub sample extension. Steps to reproduce:
1. Open sample extension with debug mode enabled
2. Resize window
3. Change window location in console to any other page
4. After…9 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.
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 -
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…
7 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
Carlos7 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...
6 votes -
When art is renamed, no notifier is sent In CC2019, at least two notifiers should result from renaming art: kAIArtPropertiesChangedNotifier & kAIArtObjectsChangedNotifier, but neither is sent.
5 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…5 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ïc5 votes -
[BUG] Extend script via Javascript document.importFile broken between CC2017 and CC2018 Currently this is producing an error in CC2018 Illustrator on Mac
var newFile = new File('/tmp/sample.rtf');
app.activeDocument.importFile(newFile, false);Works correctly in CC2017.
5 votes
- Don't see your idea?