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)
78 results found
-
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.
1 voteThe team informs the issue is resolved in the Prerelease Build 29.0.0.108 which you can test if you are a member of a Prerelease program.
If it gets confirmed to be fixed, it will be pushed into the main release.
-
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
```10 votesThe team informs the issue is resolved in the Prerelease Build 29.0.0.108 which you can test if you are a member of a Prerelease program.
If it gets confirmed to be fixed, it will be pushed into the main release.
-
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…
5 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.
![error1.png](error1.png)
![error2.png](error2.png)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.
![mrap.png](mrap.png)
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…
7 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 -
[ExtendScript] Line feed \u000A character assigned to text contents is converted to carriage return
MacOS 13.3.1, Adobe Illustrator 27.4.1
Also reported on Windows same version of Illustrator.Steps to reproduce.
To see problem, run this script
```
(function () {var doc = app.documents.add(); var tf1 = doc.textFrames.add(); tf1.position = [100, 100]; tf1.contents = 'Break\u000Ame.'; alert('Linefeed (10)\n charCode = ' + tf1.contents.charCodeAt(5)); var tf2 = doc.textFrames.add(); tf2.position = [200, 100]; tf2.contents = 'Break\u0003me.'; alert('End-of-text (3)\n charCode = ' + tf2.contents.charCodeAt(5));
})();
```
I would expect the text on the left to have a line feed (u+000A) character, but it is converted to a carriage return (u+000D).
The text on the right is a workaround,…3 votes -
Incorrect word count via script
At some point (I think v27) Illustrator has changed its word counting/division algorithm.
So, where previously the results were sensible:
"This.Was.Four.Words" — word count: 4
"This.Is.3.Words" — word count: 4
"I.WF05f.07.AB.000" — word count: 5
"I.WF05f.AB.07.000" — word count: 5In version 27.4 the results are now confused:
"This.Was.Four.Words" — word count: 1
"This.Is.3.Words" — word count: 3
"I.WF05f.07.AB.000" — word count: 4
"I.WF05f.AB.07.000" — word count: 2For a discussion on the topic, and a testing script, see this thread.
Note: maybe this bug was introduced while fixing this bug.
6 votes -
getSystemPath using CSInterface throws URI Malformed error
I was trying to get the my documents folder path of the system using CSInterface getSystemPath function. It works in most of the cases. But it throws URI malformed error (refer the screenshot below), if the path of the documents folder contain characters from languages other than English.
I debugged the CSInterface.js file at line 521. And I found that the below piece of code returns the path of the folder without encoding the characters from languages other than English.
window.adobe_cep.getSystemPath(pathType)
IN MY CASE:
Path of documents folder: "C:\Users\sanjay\OneDrive - Élégante\Documents".
window.adobe_cep.getSystemPath(pathType)
// Returned value -…1 vote -
Applescript Artboard Name no longer works
Getting/Setting name of artboard no longer works. It used to work fine. It is an issue with class of properties. All options Fail.
1. name of (get properties of artboard 1) -- error
2. get item 7 of properties of artboard 1 -- error
3. name of artboard 1 -- always failedIf you insert «class bAl9» in place of Name and compile, it does not fail however will fail next time since the dictionary replaces it with Name
1 vote -
2 votes
-
CEP Extension Window MinSize Change On Mac OS When UI Scaling Large
CEPエクステンションで、
ウィンドウサイズを最小サイズに変更するボタンを設置しようとしていますが、
Mac版でUIスケール拡大時、スクリプトで手動変更の最小サイズまでリサイズできません。1.お使いのオペレーティングシステムおよび Adobe Illustrator (デスクトップ版) のバージョン
Illustrator2022,2023 MacOS2.問題が発生したときに実行していた手順
ユーザーインターフェイス>UIスケール
小から大に変更
エクステンションの最小幅200、最小高さ400
ウインドウサイズへ変更ボタン(CSInterface.resizeContent(200,400)が実行される)を押す3.想定していた結果
最小サイズまでウインドウサイズがリサイズ実際の結果
リサイズされない■詳細■
Windows版では、UIスケールを拡大した時は、
エクステンション自体が拡大表示されいて、特に問題ありません。ところがMac版で、UIスケールを拡大した時
ウィンドウサイズのみ拡大されて、
エクステンションの中身は拡大されません。
このことは、別にOS差の仕様の違いとして、許容範囲内なのですがmanifest.xmlにて
<MinSize>
<Height>400</Height>
<Width>200</Width>
</MinSize>
と設定していて、
CSInterface.getScaleFactor()で取得したScaleFactorが1.25の時ウィンドウ幅を最小にした時のサイズが
Chromeでのデバッグで表示されるサイズは313px
になっていて、設定サイズよりも大きくなり、
想定した幅まで最小化できなくなります。また
CSInterface.resizeContent(width, height)でのリサイズはCSInterface.resizeContent(300, 500)
→ width: 375 (設定値:300×ScaleFactor:1.25)
height: 625 (設定値:500×ScaleFactor:1.25)
設定値×scaleFactorのサイズになるので
高さを維持して、幅だけ変えたいときとか、ScaleFactorを意識しないといけないため
不便に感じます。ただ、これも仕様を把握していれば、なんとか対応できます。
困っているのは、
illustrator2022,2023(Mac)にて、
CSInterface.resizeContent()の許容値がおかしいことです。
manifest最小値、最大値の範囲内なら、有効のはずですがIllustrator2022,2023(Mac)では、
NG) CSInterface.resizeContent(200,400)
NG) CSInterface.resizeContent(249,500)
OK) CSInterface.resizeContent(250,500)
となっていて、
有効範囲までScaleFactor分拡大されています。しかし、先に述べた通り、
CSInterface.resizeContentでは、設定値×scaleFactorで設定されるので、
手動で変更可能な最小幅×ScaleFactorまでしか、スクリプト上では変更できません。
(設定最小幅200、ScaleFactor1.25のとき、
現在の手動最小幅250にしたいのに、313までしかスクリプトから変更できない)Illustrator2021(Mac)では
CSInterface.resizeContent(200,400)が動いて、
ウィンドウサイズを最小サイズまでリサイズできます。Mac版でUIスケール拡大時、スクリプトで最小サイズまでリサイズできるように
修正お願いします。1 vote -
BridgeTalk.getSpecifier( "estoolkit") no longer works in Illustrator 2022 & 2023. Returns null
I have a script that runs in Illustrator and needs to send progress information to a ScriptUI user interface running in Extendscript Toolkit. Since Illustrator 2022, the function call BridgeTalk.getSpecifier( "estoolkit") returns null. As a result, my script is unable to send messages to Extensscript Toolkit. My workaround has been to use Illustrator 2021, where this functionality still works. It works in Illustrator 2020 & 2021 but does not work in Illustrator 2022 & 2023.
1 vote -
2 votes
- Don't see your idea?