Illustrator Scripting :: How To Calculate ExportPNG24 Scalefactor
Oct 29, 2013
I need to export a Illustrator icon in various different resolutions e.g. 16x16, 64x64, 256x256 etc.
I wrote a simple script for this purpose which is calculating the scalefactor out of the image width and the desired resolution.
The scale factor is calculated by this simple formular:
var bounds = item.visibleBounds;
var width = bounds[2] - bounds[0];
var scaleFactor = 100.0 * desiredPixelWidth / width;
The resulting images are correct for small images from 16px to 512px but for larger images the resulting images are too big:
desiredWidth resultingWidth1024102520482050409641006000600680008008(the calculated value for width is 512.5)
I have to multiply the scaleFactor with a correctionFactor of ~0.999 to get correct results:
var bounds = item.visibleBounds;
var width = bounds[2] - bounds[0];
var scaleFactor = 99.9 * desiredPixelWidth / width;
Why the correctionFactor has to be applied and what the correct value is.
Windows 7 64Bit / Adobe Premium CS5.5
View 2 Replies
ADVERTISEMENT
Dec 18, 2012
I'm try to automate the importing of the Varaible and datasets into my graphs via Scripting, but the ImportVaraibles() function doesn't seem to work. Here is my Script, mostly copied from the example script provided with Illustrator (CS5). And, this works manually, using the file names in the script, via Load Variable Library
Set appRef = CreateObject(strIllistratorVersion)
'Open the file and import the datasets
Set docRef = appRef.Open(strTemplate & "200-500.ai")
'docRef.Datasets.RemoveAll
docRef.Variables("Yearbook").Delete
Here is the problem, after I delete the previous library, then this next line, right from the example, does nothing
The script then exits with 'No Datasets in this document'
docRef.ImportVariables (strXMLFolder & "Lumber_200-500.xml")
'appRef.DoJavaScript "alert('Template:" & strTemplate & strRange & ".ai | XML file:" & strXMLFolder & "" & objFile.Name & "^')"
If (appRef.Documents.Count > 0) Then
Set docRef = appRef.Documents(1)
[Code]....
If I remove that delete line, the script runs, but just uses whatever Variables I had last loaded, not the XML file.
It's simply not loading. What do I need to do to get it to load?
View 8 Replies
View Related
May 6, 2012
Can you access graph data through the scripting DOM?
View 3 Replies
View Related
Mar 15, 2013
I am doing design exhibitions with interior design. The interior designer sends me an AutoCAD file. The AutoCAD can calculate ratios from the actual sizes, how about the Illustrator? Can it calculate in the same way? For example, draw the line 2 meters from ratio 1:30. Now, we have to compare and calculate length in manual way which is inconvenience for us.
[URL] ....
View 3 Replies
View Related
Sep 14, 2012
Normally I'd use ArtDirector Toolkit, but I can't install it or oter software right now (too long to explain why).
Anyway I have several elements to scale, and I'm trying to find a formula/calculation to determine scale.
Example - 1 object is 3.7486" and I want to make it 5.3231" - how do I calculate the scale percentage to enlarge it?
View 7 Replies
View Related
May 21, 2012
I learned out to make the tick marks using copies and rotation. My question now is, how is the rotation calculated so A) I get the correct placement of the tick marks, especially the small ones as there are so many and B) how do I calculate the rotation degree so that I have the proper amount of space at the bottom of the guage/dial?
I know how to get the large tick marks and the small tick marks, if I were placing them evenly around the entire circle, I would know how to do that also - but since I'm placing them around only a portion of the circle (although still evenly) I'm lost. I can only figure out the space by hit and miss calculations and that is taking much too long. I would also need to know how much to rotate the entire thing by in order to get the open space at the bottom as shown.
View 4 Replies
View Related
Mar 16, 2013
the Script of creating mirror text and stroke text in Adobe illustrator scripting.
View 4 Replies
View Related
Jan 15, 2014
Quite new to Ai's scripting stuff.
I'm having a complicate time with Ai's save to jpg options vs artboard sizes and units conversions.
Say, i have a doc (from my client), which they inherited and enhanced for 10 years may be.
It's "supposed" to be in millimeters, but artboardRect gives me those values :
-0.27880000000005
436.191388980878
646.457
-0.20900000000074
which sound like weird points or pixels.
I need to export a jpg (or gif, or png), that will be X pixels wide. For the purpose of the test i set it at 1200.
var maxLargeurPx = 1200;
First thing, getting the artboard's width :
largeurArtboard = Math.abs(thisArtboardRect[2]-thisArtboardRect[0]);
// 646.7358
Then i try to have a multiply factor to use
coefExport = /*Math.round*/ (100 * maxLargeurPx / largeurArtboard);
// 185.54717397738
and then set my ExportFile jpg to this value (i can't give it a number)
// exportOptions.horizontalScale = coefExport
That's when it's getting fun : my images are 1204 px wide with or without clipping.
Of course, i "can't" resize the doc for each export, especially expecting to have dozens of those, with different values, dimensions, etc.
View 5 Replies
View Related
Jul 27, 2012
I wrote the following AppleScript to open a PDF file and export is as PNG. I am using Illustrator CS5.
The export command gets an error: Adobe Illustrator got an error: Can't get current document.
when it encounters the export command.
set inputFile to (choose file with prompt "Open PDF file to convert to PNG:") as text
set exportFile to inputFile & ".png"
tell application "Adobe Illustrator"
if not frontmost then activate
open inputFile as alias without dialogs
export current document to exportFile as PNG24 ¬
with options {class:PNG24 export options ¬
, resolution:300 ¬
, matte color:{red:0, green:0, blue:0}}
close current document saving no
end tell
View 5 Replies
View Related
Jun 20, 2012
Im trying to add a pdf on top of an existing PDF in illustrator using a script. This is supposed to be done by anyone at my firm so that is why I want it in a script. I also have a lot of other functions that works that will do some other stuff with this document.
Created this from the scripting guide but it doesnt work. Im pretty sure its the embedDoc var thats empty and i dont understand why. Im not sure if the File "points" to the directory of the script or the original file but Ive tried both ofcoarse.
This is the masterpiece
var embedDoc = new File("/temp/testfile1.pdf");
if ( app.documents.length > 0 && embedDoc.exists ) {
var doc = app.activeDocument;
var placed = doc.groupItems.createFromFile( embedDoc );
}else {alert("suck")}
View 4 Replies
View Related
Apr 7, 2012
Is it possible to reference layers or groups by their names instead of their index using VBA? If so, what is the sytax? I know you can do it in Extendscript, but I'm not finding info for VBA.
View 7 Replies
View Related
Oct 10, 2012
Swatches Swatches Read-only. The swatches in this document.
Deletes a swatch from the current document
Set appRef = CreateObject("Illustrator.Application")
Set documentSwatches = appRef.ActiveDocument.Swatches
Set swatchToDelete = documentSwatches(5)
swatchToDelete.delete
How am I supposed to be able to make changes to the swatches collection - it is read only...
Not supprisingly I have failed to implement this in C-sharp
View 5 Replies
View Related
Mar 13, 2014
I am trying to close alert at once but the loop continues the alert, how can I stop the alert at once
var doc = app.activeDocument
var layersToTargetNameArray = ["Background", "Artwork", "diecut", "size", "sign off panel"];
for (var i = 0, il = doc.layers.length; i < il; i++) {
var curLayer = doc.layers[i];
[Code] ......
View 6 Replies
View Related
Feb 11, 2014
Is there anyway in JavaScript to replace one swatch with another?
I've seen other posts where similar questions have been asked, but the solution seems to involve iterating over all the pageItems, testing and then changing the fillColor.
All I want to do is delete/replace a specific color. Say replace Yellow with Green.
Is there a way of doing this without recursing through all of the page items?
View 3 Replies
View Related
Sep 11, 2012
I added CS6 COM reference in my VB.NET application and after that I have the following basic object creation in order to convert a eps file to svg. But for some reason when I create this COM object it is launching the Adobe Illustrator application. Why it is doing like this? It’s a simple COM object why it is interacting with Illustrator Editor?
View 9 Replies
View Related
Jul 30, 2013
I'm working on a script with an UI element. I want all values of the 2. cloumn (Rasterkeilfarbe) returned in one array and all values of the 3. column (Klischeenr.) returned in another arry.
var farben = ["black", "red", "blue", "green", "bla", "blupp"]
var myName = myInput (farben);
// rest of the script
[Code]....
View 5 Replies
View Related
May 26, 2012
Is it possible to script a tabbed ui like this, i can't seem to get it to work,
My script for now:
#target illustrator
tabbed_ui();
//Functions
function tabbed_ui(){
[Code]....
View 2 Replies
View Related
Feb 7, 2012
Is it possible to loop thru the artboards (with Illustrator CS5) and only work with the pageItems on the current iterated artboard?
For example, if I have 3 artboards, with 2 textFrames on each artboard. And I add the textFrames sporadically (I add a TextFrame with contents "Text 1" on artboard 1, then a textFrame with contents "Text 2" on artboard 3, then a textFrame with contents "Text 3" on artboard 1, etc).
Artboard 1:
Text 1
Text 3
Artboard 2:
Text 4
Text 6
Artboard 3:
Text 5
Text 2
Is there a way to loop thru these artboards and get the textFrames tied to the appropariate artboard? So, on the first iteration of the loop, I'm looking at artboard 1 and only looking at "Text 1" and "Text 3", then on the the 2nd iteration I'd be working with artboard 2 and it's textFrames "Text 4" and "Text 6", and so on.
If I loop thru only the doc.textFrames, the order would be incorrect, with the way I added each textFrame. Instead of artboard order, they'd be in this order:
Text 1
Text 2
Text 3
Text 4
Text 5
Text 6
View 4 Replies
View Related
Dec 17, 2013
What if for some reason a person wants to actually make an XML file and stick some <![CDATA[]]> in it? I looked through some manuals & OMV fairly quickly to discover no methods for that. Was wondering if there was some technique.And, just as pointed out in the indesign forums, a string of "]]>" makes the script hang up and debugging have to be stopped with the final message "Cannot execute".
View 9 Replies
View Related
Mar 7, 2012
is there a way to pin certain scripts to the menu in Illustrator (File > Scripts)?
It's quite a work to access to scripts by "File > Scripts > Other script" every time, so I figure there must be some easier way out there.
View 3 Replies
View Related
Feb 7, 2012
We have over 50 artboards in most of our documents. Is there a way to sort the artboards as listed in the artboards panel by name via script?
View 13 Replies
View Related
Sep 2, 2008
How do I terminate the script - not Adobe application(s)?
exit(), quit()... - they don't work.
The only workaround I can think of is a main() function with "returns" in appropriate places, but I am just curious if there is a terminating command.
View 5 Replies
View Related
May 13, 2012
I want to make a tab in a radiotext and it does not work when i just add a tab.
I can add a space and other characters using unicode but i cant make it work with the tab character!
staticText = Grp1.add("statictext",undefined,"What? "); // Does not work
staticText2 = Grp1.add("statictext",undefined,"What?u00A0"); // Works but this is a space character
staticText3 = Grp1.add("statictext",undefined,"What?u0009"); // Does not work with Tab character
View 1 Replies
View Related
Feb 28, 2012
I'm needing to loop through each character of a text frame and check the color of each character. Is it possible to get the swatch name of each character? Or can you only get the red, green, blue values?
I've been experimenting with:
app.activeDocument.textFrames[0].characters[3].characterAttributes.fil lColor.typename;
// Returns SpotColor
But I can't figure out how to get the swatch name of the character this way?
View 2 Replies
View Related
Mar 8, 2012
How to export TIFF from Illustrator using Javascript. I could not find TIFF export type in Illustartor export type.
View 4 Replies
View Related
Sep 26, 2013
i can´t get any Batch script to run.For example a PDF making Batch with a folder selection.I always get the alert, no matching files found.I use cs 5 on a g 5 with osx 10.8.2..why does no file fit in the "mask" ?
Adobe permits you to use, modify, and distribute this file in accordance with the terms of the Adobe license agreement accompanying it. If you have received this file from a source other than Adobe, then your use, modification,or distribution of it requires the prior written permission of Adobe.
Export to PDFs.jsx
DESCRIPTION
This sample gets files specified by the user from the selected folder and batch processes them and saves them as PDFs.Edits by Patrick Mineault:
- only .ai files processed
- files saved in same folder as the input files
- export files have name (oldname)_export.pdf
- PDF settings: non-editable / acrobatLayers=false
for maximum compatibility with Preview
// Main Code [Execution of script begins here]
// uncomment to suppress Illustrator warning dialogs
// app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
var destFolder, sourceFolder, files, fileType, sourceDoc, targetFile, pdfSaveOpts;
// Select the source folder.
sourceFolder = Folder.selectDialog( 'Select the folder with Illustrator .ai files you want to convert to PDF');
[code...
View 9 Replies
View Related
May 15, 2012
Carlos, you created a script i believe called AI_openMultiPagePDF.However i was wondering if you could change it just a bit and instead of opening the files, could you use the PLACE command instead?
The problem i have had is that some PDF's have embedde fonts that i dont have but if i place it, then flatten transparency>Convert Outlines i can use the PDF excatly as it was and not have it convert the fonts.
Is that an easy script change?
#target illustrator
#targetengine session
// script.name = AI_openMultiPagePDF_CS4_CS5_v1.02.jsx;
// script.description = opens a multipage PDF;
// script.required = requires CS4 or later
// script.parent = CarlosCanto // 01/07/12; v1.2-01/15/12
// script.elegant = false;
I didn't try opening a ridiculous amount of pages, I "only" open 35 pages....in about a minute and a half. Use with caution, save everything before running, script is memory intensive...
// Lion fix by John Hawkinson 01/15/12
START UI CODE, create user interface
var win = new Window ("dialog", "MTools - Open Multipage PDF");
[code]....
View 12 Replies
View Related
May 21, 2013
I need to place a logo at the bottom of the image in eps.
i have created the logo as symbol, can this symbol could be placed at the bottom of the image.
View 3 Replies
View Related
Apr 1, 2013
I need to export an AI file to JPG.
For that I am using the File->Export option of Adobe Illustrator.
Now I want to do the same by using JSX Script.
I need Four JPG images of different sizes (70,150, 300,900) .
What Resolution (DPI) should I use to get images of above mentioned sizes.. or how can i dynamically set the DPI while exporting AI to JPEG image file
View 3 Replies
View Related
Jun 1, 2012
I would create a script to have keyword standards.
In EXCEL i create a controlled namespace trougth comboboxes to save the files in an controlled way. The Metadata should be a controlled way to avoid "phantasie"-names. Having this values I would insert this strings in the XMP:KEYWORD field. In this way with the bridge I can retrive the information.
xmp.string = word1, word2, word3, ...
I use VBA and at the moment I have this but it doesn't work.
Sub meta_add ()
dim w1 as string
w1 = "hallo world"
document.xmpString.add.w1
end sub
View 6 Replies
View Related
Sep 25, 2013
is it possible to add characterAttributes to a paragraph Style?
My script is like that and does not work
var aDoc=app.activeDocument;
try { var myAF = aDoc.ParagraphStyles.getByName("VM-groß")
}
catch (err) {
[Code]....
View 3 Replies
View Related