Illustrator (Desktop) Bugs
When reporting a bug, please provide a detailed description with the following:
- Details of your operating system
- The version of Adobe Illustrator (desktop)
- The steps you were taking when you experienced the issues
- Your expected result and the actual result
- Upload your Illustrator file or a video (screen recording or gif, this helps us most to reproduce the issue and resolve it)
86 results found
-
Javacript locking embeded image
In Illustrator 29.1 this script worked just fine. I place an image, move it, name it, lock it and embed it. But in 29.3 this code gives an error message: It says that it cannot operate on a locked layer, BUT it still locks the placed item. If I move the lock to after the embed, the lock does not happen. So this code no longer works in 29.3.
I think its weird in 29.1 that you were allowed to lock the placeditem before you embed it, but it doesn't work if you lock it afterwards.
We are using macos…
3 votesThe issue is reported to be fixed in the latest Pre-release build 29.4.130.
The provided script should now work without any error dialog, as before.
Please also see the recommended way to achieve locking of embedded art in modified script, in a comment within.
-
[ExtendScript] Rasterizing group creates two rasterItems
- MacOS 15.2.
- Adobe Illustrator 29.1
- Open demo document (attached) and run script (below).
- Should create one RasterItem, but instead creates two.
Test Script (for use on attached test file):
…(function () { var doc = app.activeDocument; var item = doc.groupItems[0]; // Raster Options var rasterOpts = new RasterizeOptions; rasterOpts.resolution = 192; rasterOpts.antiAliasingMethod = AntiAliasingMethod.None; rasterOpts.backgroundBlack = false; rasterOpts.clippingMask = false; rasterOpts.colorModel = RasterizationColorModel.DEFAULTCOLORMODEL; rasterOpts.convertTextToOutlines = false; rasterOpts.includeLayers = false; rasterOpts.padding = 0; rasterOpts.transparency = false; rasterOpts.convertSpotColors = true; doc.rasterize(item, item.geometricBounds, rasterOpts); var count = doc.rasterItems.length; if (count > 1) alert('The rasterization created two images but should have created only one.');
4 votes -
Adobe Illustrator 28.7.3 does not load AIBeautifulStrokes
Adobe Illustrator 28.7.3, at least the macOS version, does not load AIBeautifulStrokes suite in my plugin (error 29550). All other versions, including up to 28.7.2, work fine. I am using SDK build 142, the version of the 2024 SDK now available for download.
AIErr err = sSPBasic->AcquireSuite (kAIBeautifulStrokesSuite, kAIBeautifulStrokesVersion, (const void**) &sAIBeautifulStrokes);
1 voteNo longer happens with 29.1
-
Illustrator JavaScript Scripting Reference.pdf Pages 46 (Documents Section)
"ArtBoard" or "artBoard" ???? There must be consistency in capitalization
[, numArtBoards]
[, artboardLayout]
[, artboardSpacing]
[, artboardRowsOrCols])1 vote -
[ExtendScript] PageItem.resize doesn't scale Live Paint strokes
While scaling Live Paint object correctly scales strokes if done via the UI, it fails to scale strokes if done via the PageItem.resize method in the scripting API.
MacOS 15.0.1 Illustrator 29.0.
Steps to reproduce:
1. New document
2. Create a Live Paint object including stroked areas.
3. Select the Live Paint object.
4. Run the following script:var item = app.activeDocument.selection[0]; item.resize(200, 200, true, true, true, true);
Expected result is that the Live Paint object's stroke widths would double. However they remain the same as before.
See this user post.
4 votes -
[ExtendScript] Cannot set Document.rulerUnits
There is no way via scripting to set a document's rulerUnits (pts, mm, inch, etc) because the property Document.rulerUnits is—erroneously, surely—read only.
If Document.rulerUnits was writable, we would simply do this:
var doc = app.activeDocument; doc.rulerUnits = RulerUnits.MILLIMETERS;
This is important because there is literally no way to set this via script, except to create a new document.
3 votes -
[ExtendScript] TextFrame cannot be selected after creating
In script, after creating a new TextFrame it cannot be selected the first time.
(function () { if (0 === app.documents.length) return alert('Please open a document and try again.'); var doc = app.activeDocument, results = ['Results:']; // experiment 1 var tf1 = doc.textFrames.add(); tf1.contents = '1. created, selected:'; tf1.selected = true; results.push(tf1.contents + ' ' + (tf1.selected ? 'PASS' : 'FAIL')); // experiment 2 var tf2 = doc.textFrames.add(); tf2.contents = '2. created, selected twice:'; tf2.selected = true; tf2.selected = true; results.push(tf2.contents + ' ' + (tf2.selected ? 'PASS' : 'FAIL')); alert(results.join('\n')); })();
Expected results: both tests would pass.
Actual results:…6 votes -
[ExtendScript] Cannot change `underline` value of some text ranges.
We cannot successfully set characterAttribute.underline to
false
in some textRanges.(MacOS 15.0 Adobe Illustrator 28.7.1)
Steps to reproduce:
1. New document
2. Make a text frame with contents "ab"
3. Set the "b" to a different fontStyle, eg. "italic"
4. Run the below script, and check the console output.Expected Result: all tests PASSED, meaning that the underline can be set to true and then to false successfully.
Actual result, test B on the "b" fails.
Script:
```
(function () {
…var doc = app.activeDocument, tf = doc.textFrames[0]; var results = ['Results:']; tf.textRanges[0].characterAttributes.underline = true results.push('textRanges[0] test A: ' +
4 votes -
Illustrator Version 28.7.1 - xmpfile does not have a constructor ( using Extendscript with Illustrator )
OS: macOS Sonoma 14.6.1 (23G93)
Illustrator version 28.7.1Prior to this update I have been able through extendscript to read XMP data from a file. After the update I get an error:
"XMPfile does not have a constructor".
on the line of code:
var xmpf = new XMPFile(.........Reverting to the prior version resolves the issue.
2 votesWe have fixed this issue in 29.0 and 28.7.2 releases.
-
XMPMeta is not defined on ILST 28.7.1 on MacOS #515
As of ILST 28.7.1 on MacOS, XMPMeta has stopped working. However, it works fine on:
- ILST 28.7.1 on Windows
- ILST 28.6 on MacOsThe issue also exists on ILST (Beta) 29.1 on MacOs.
Example code:
```
if (!ExternalObject.AdobeXMPScript) {
ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
}const xmp = new XMPMeta(app.activeDocument.XMPString); // throws XMPMeta does not have a constructor
```16 votesWe have fixed this issue in 29.0 and 28.7.2 releases.
-
Bug: exporting SVG's via exportFile(fileObjSingle, ExportType.SVG, svgOptions). has completely changed since 28.4
(macOS & Windows, latest versions) Beginning with Illustrator 28.4, SVG files exported via Javascript are in a very different format.
The following examples are exported with:
doc.exportFile(fileObjSingle, ExportType.SVG, svgOptions);
The SVG option for the format of the SVG is STYLEELEMENTS.
See attached captures for the differences.
There are many many changes:
- the style definitions are handled differently
- ID's now strip out characters like / or < instead of replacing them with entities
- the original names are included via data-name tags
- the comment from the 2nd line is now gone
- clipping paths are handled differently
I have built a complex program…
6 votes -
Unable to catch error that occurs when exporting empty artboard to PSD
en_US
When exporting Illustrator artboards to PSD using ExtendScript's exportFile, if the artboard does not contain valid PageItems, an error occurs and two alerts are displayed.

The problem is that this error cannot be caught by a try syntax. It will stop the batch process with alerts.
Also, if
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS
is used to prevent the alert, it is not possible to provide detailed information to the script user as to why the artboard was not exported.Ideally, the design should be changed so that the error can be caught, or even an empty artboard can be…
12 votes -
[ExtendScript] Document.artboards wrongly returns artboards of active document
- MacOS 14.2.1
- Adobe Illustrator 28.0
- To reproduce:
(a) open two documents with differently named artboards
(b) run this script
for (var i = 0; i < app.documents.length; i++) { for (var j = 0; j < app.documents[i].artboards.length; j++) { $.write(app.documents[i].name + ' artboard ' + j + ': '); $.writeln(app.documents[i].artboards[j].name); } }
Expected result:
demo1.ai artboard 0: ALPHA
demo1.ai artboard 1: BRAVO
demo2.ai artboard 0: CHARLIE
demo2.ai artboard 1: DELTAActual result:
demo1.ai artboard 0: ALPHA
demo1.ai artboard 1: BRAVO
demo2.ai artboard 0: ALPHA
demo2.ai artboard 1: BRAVONote that Document "demo1.ai" is active. If I make demo2.ai active, I…
10 votes -
AI 28.0 preferences corrupted by 28.1 with some 3rd party plugins
When updating from Illustrator 28.0 to 28.1, some preference files may be corrupted if AI is running certain 3rd party plugins. These include any written with Hot Door's CORE and incorporating a WebView widget to display a web page, but I have received reports of this behavior with some SDK plugins as well.
The problem it creates is that new files are not added to the File > Open Recent Files list, and any change to a different workspace is not saved.
For my macOS Ventura with AI 28.1, deleting these preference files solved the problem: Plug-in Cache and plugincache.bin.
…
2 votes -
Error with app.executeMenuCommand('Adobe Stroke Palette')
en_US
In the Japanese version of Adobe Illustrator, when I execute a script that selects the Window > Stroke menu, an error occurs. It executes correctly in the English (North America) version.

Script to Execute
try { app.executeMenuCommand('Adobe Stroke Palette') ; } catch(e) { alert(e) ; }
Actual Result
The following error occurs.
エラー: an Illustrator error occurred: 1346458189 ('MRAP')
Expected Result
Stroke panel is displayed.
Steps to Reproduce
- Uninstall any non-Japanese version of Adobe Illustrator that is installed
- Launch Creative Cloud.app and set "Default install language" to Japanese in the Preferences
- Install and launch Adobe Illustrator
- Execute the…
10 votes -
The ignoreWhite property of tracingOptions does not work
Illustrator v 28.0 - Image Trace option check box for Ignore White has been replaced with Ignore Color and an eyedropper option. While I think this is a good addition for manual use, it appears to have somewhat broken the ability to use image trace properly in javascript as the change has made the original "tracingOptions.ignoreWhite = true" no longer work. I suspect there is now an additional option/variable responsible for the color to be ignored's selection but it doesnt appear to be refferenced in any of the current documentation. I've tried adding the method for Abutting (also undocumented) as…
10 votes -
app.preferences.setIntegerPreference() does not work
app.preferences.setIntegerPreference("rulerType", 0) changes the selection in the GUI but doesn't actually apply the change to the document.
I still have to go into the GUI preferences, change the units to something else, then back to inches and close for the change to actually apply to the current document.
3 votes -
Justification attribute to center text in Illustrator API
Why do Justification to aiCenter and Align Center produce different results?
Given myLabel string with at least one line break character in it, when I use JavaScript code like this...Set myFrame = textGroup.TextFrames.Add
myFrame.TextRange.CharacterAttributes.Size = defaultFontSize
myFrame.TextRange.CharacterAttributes.TextFont = appRef.TextFonts.Item(nameOfFont)
myFrame.Contents = myLabel
myFrame.Paragraphs(1).ParagraphAttributes.Justification = 2 ' aiCenter
myFrame.Position = Array(myXPos, myYPos)...the lines of text are not centered with respect to each other.
Is there a way, using the JavaScript API, to achieve text-centering of multiple lines in a text frame?
If not, I'd like to request a new paragraph attribute to the JavaScript API to accomplish this function.…2 votes -
[ExtendScript] RasterItem.colorize() does not accept SpotColor via script, but does via UI.
MacOS 13.3.1, Adobe Illustrator 27.4.1
The colorize() method of RasterItem doesn't accept a SpotColor via scripting, but can do via the UI, so there is no technical reason I can see why this it the case. It may be a simple bug. Also there is a workaround by using defaultFillColor which does apply a SpotColor to a RasterItem.
Steps to reproduce:
1. Start with document containing a bitmap (colourable) RasterItem and a SpotColor swatch.
2. script: (adjust the swatch index to match your SpotColor swatch index)app.activeDocument.rasterItems[0].colorize(app.activeDocument.swatches[4].color);
Expected result: colorizes the RasterItem.
Actual result: does nothing.2 votes -
[ExtendScript] Incorrect paragraph count when linefeeds are used.
MacOS 13.3.1, Adobe Illustrator 27.4.1
To see the issue, run this script:
```
(function () {var doc = app.documents.add(); var tf1 = doc.textFrames.add(); tf1.position = [100, 100]; tf1.contents = 'Paragraph one\u000DParagraph two'; var tf2 = doc.textFrames.add(); tf2.position = [200, 100]; tf2.contents = 'Paragraph one\u0003still paragraph one'; alert('Paragraph counts\n2 paragraphs: ' + tf1.paragraphs.length + '\n1 paragraphs with forced line break:\n ' + tf2.paragraphs.length);
})();
```I expect the left text frame to have 2 paragraphs and the right text frame to have 1 paragraph, but the right text frame is incorrectly shown to have 2 paragraphs.
This discussion revolves around…
3 votes
- Don't see your idea?