Skip to content

Illustrator (Desktop) SDK/Scripting Issues

120 results found

  1. 52 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. 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.

    43 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. 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オブジェクトになる。

    27 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  AppleScript  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. 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.

    27 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. 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.

    24 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. Accessing Opacity Mask is impossible with scripting

    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…

    17 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. 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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. 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.

    16 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. 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
    - etc

    Current workarounds: polling (setTimer) for changes...thats far from ideal.

    The current situation is more than sad (not regarding the lack of documentation).

    16 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  CEP  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. Create and edit Graphic Styles with scripts

    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ïc

    16 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. Document.save() for eps/svg/pdf documents changes them to ai files

    en_US

    Document.save() is a method to save over a document. In keyboard shortcut, it is equivalent to command+S.

    However, when ExtendScript's save() is executed on a document that preserves Illustrator editing capabilities such as eps/svg/pdf, it will be saved as an ai document instead of being overwritten as its original format.

    For example, when save() is executed for the document 1.eps, the file 1.ai will be created in the folder where the eps is placed. If the file 1.ai already exists, it will be overwritten with the contents of 1.eps and the original 1.ai will be lost.

    Environment

    • macOS…
    15 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. 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.

    15 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. 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);…

    15 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  C++ SDK  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. Iterating through large collections is very slow (non linear).

    Whenever I have a need to iterate through a large collection (such as pageItems) the iteration is very very slow, and the larger the collection is the more slower it gets. I would expect this to be a linear behavior, but it's not. If a collection's size doubles, it takes more than double the time to iterate through it.

    14 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. 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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. 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.

    13 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  C++ SDK  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. 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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. [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
    11 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. 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…

    11 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. 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...

    11 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
← Previous 1 3 4 5 6
  • Don't see your idea?

Illustrator (Desktop) SDK/Scripting Issues

Categories

Feedback and Knowledge Base