Illustrator Scripting :: How To Replace Instances Matching Height Or Width Of Items
Nov 26, 2011
Im struggling with the correct use of symbol / symbol items in applescript. I can successfully list the symbols used on the page, but I cannot select them. How I can select all the items on the page that are Symbol Items of symbols named "Apples" but not oranges? After that I hope to replace the instances matching the height or width of the items whichever is greater with a 3rd item name. Javascript is always an option as well but I had the same difficulty.
I found this script that makes the selected objects the same width AND height. I am very new to creating scripts. is it possible to modify this to make an object the same width leaving their heights the same?
mySelection = activeDocument.selection; if (mySelection.length>0){ if (mySelection instanceof Array) { goal=mySelection[mySelection.length-1]; for (i=0; i<(mySelection.length-1); i++){
How can I get width that multiple selected items? (Not grouped.)
//---------- source code ---------- var mm = 2.83464566929134 //unit conversion. (point->milimeter) var W = docRef.selection[0].width/mm; alert(W); //---------- source code ----------
I have an AI file containing seamless pattern swatches.I'd like to get each swatch vectors (ie : access the swatch groupItem). It's doable when clicking on the swatch panel and dragging the swatch on the document, or even double clicking the swatch in the swatches panel, I'd like to do it with javascript.
how to access swatch patterns properties.
How to access the swatch properties, like when double clicking on the swatch in the swatches panel, how to "simulate" a drag & drop of the swatch to the document, I'll take it too, though I think it is not the most convenient way to do.
I'd like to fill a shape with instances of a symbol. The sybmols should vary in size but never touch each other or the outer edges of my shape. Is there a script that can do this?
What is the max size of width and height in all measurement (Points, Picas, Inches, Milimeters, Centimeters, Pixels) when you create a new document? I would like it to use it together with cartesian coordinate system and ruler.
In a training video on Illustrator cs6 a device is shown as follows, as the instructor manually resizes an Artboard using the Artboard tool:
Justin, the instructor, calls the little box that immediately shows width/height a "width and height box" but searching on that term is not productive. When I run the program the device is not available, not does the video explain what option makes it available or what might have changed on my particular copy to obscure or disable the box. While I know I can get the same effect by choosing the Info window, and can even adjust the parameters more precisely using the control panel bar, I would like to have the convenience of this box.
I note that in the same video series (from Lynda.com) the same type of display device is shown when the instructor resizes a graphic. After some 30 minutes of Google searches and searching for the identity of this device and how to enable it I come up empty.. An experienced Premiere editor, I'm trying to widen my skill set into more of the Adobe suite and new to Illustrator;
I'm totally new to Illustrator and need to make a document that is going to be placed in a magazine ad (it's a free placement, hence why I'm just trying to do it myself). I can get around in PhotoShop, but Illustrator is confusing to me. The ad dimensions are supposed to be:
2.33" w x 7.5" h 700 x 2250 pixels
When I create a new Illustrator document, leaving the Raster Effects setting in the Advanced section at 300ppi, if I change the Units setting to pixels, put in 300 for width and height, then change the Units back to Inches, it says the width and height are 4.17 in.
I reseted my illustrator settings because it was having some problems, the settings I reset was changed everything back to pixels. I am working with small graphics that need to fit within 20x20 pixels
the problem is, when I resize something, example: 1x5, and I up the 1 to 2, it will increase it to 2 pixels from the middle of the object making it's coordinates ?.5 instead of a round number. I do not want to turn on snap anything because it worked just fine before I reseted my settings, it doesn't show it as being off at .5 but when I select multiple objects that the coordinates are at whole numbers, combines they make a number .5.
What I want - instead of the object increasing, when I up its size, from the middle of the object, I want it to increase down and to the right, keeping it's coordinates the same.
How is width and height calculated in the transform panel for an object? Does it use an average? An example can be seen in the first image. The lines are not a uniformed width.
Also, how are strokes converted from pts to pxls? For instance, if I make a stroke that is 2.3 pt, when I expand the object the width in the transform panel will say 2.3px ; however, I thought the point to pixel conversion (even for a 72 dpi screen resolution) was different. An example can be seen in the last two images, where a line was made with a specified stroke width and then expanded.
Illustrator CS6. Is there a script that inputs in a text field the width and height of an object. I do proofs and for a printing company and we always have to write the size of the artwork for the customer to approve. It's easy to do, but when you do 100's a week, it gets old and annoying. I do scale the image down to be visible on 11x8.5. I would think if there is a way to input the size of artwork, there would have to be a way to write the script so it can multiply the scaled down artwork for proofs to the actual W and H of the object. If the art is 13"W x 20"H and I put it on the proof at 10%, I want the script to input in a text field the 13"W x 20"H.
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?
I'm trying to find a way to loop thru all items in an Illustrator document and get their stroke and fill color. Sometimes items are spots, sometimes documents are set to RGB or CMYK, etc, so swatches can be a mixture of things. Is there an easy way to get the swatch name for each item?
For example, I can check if an item is a spot, and get it's color like so:
var c = app.activeDocument.pageItems[0]; if (c.strokeColor.typename === 'SpotColor') { var s = c.strokeColor.spot.name; }
But if I try to get the name from an item colored 'Black' (which is set to Process Color, CMYK), then I'll need to do something else like:
var c = app.activeDocument.pageItems[0]; if (c.strokeColor.typename === 'CMYKColor') { var s = c.strokeColor.name; // This returns undefined - not sure what I'm doing!!! }
Is there an easier way to achieve this, other than getting the typename of each item, and then trying to figure out it's color name? I was hoping something like this would work:
var c = app.activeDocument.pageItems[0].strokeColor.name;
I just got CS6, and I'm wondering how I access menu items using Javascript?Also, I'm looking at the CS6 JS reference, and it doesn't say whether app.activeDocument.selection is Read-Only. I would need this for my purposes in accessing the menu.The item I wanna access is Select > Same > Stroke Color. Seems simple enough.
I have a collection of circles and rectangles in my document. Is there any way to sort out circles from rectagles using JavaScript? Say i want to make my circles red and the rectangles blue.
Is it possible to use a JS script to find/replace artboard names? For example if I have artboards that are currently named 39 and 42...can I use a script to change the name of the art boards to 39E and 42C etc?
Also part of the script a simple find/replace of text on locked layers.
So I am trying to replace gps points with a symbol I have created. I have found blogs referencing a script that can replace selected items with symbols saved in the symbols panel, but I can't seem to find the actual script! Where I can find JET_ReplaceWithSymbol.jsx or any other script that can do the same function.
I have multiple icons placed in a document, from several different sources (all are vector objects) -- see the included image. They vary in size and what I would like to do is find a less onerous method of resizing all the heights to a specific size, while scaling the width proportionately. I have found several scripts that come close to a solution (see links below), but none that allow me to input a height (or width) in inches and have all the objects resize to that height proportionately.
Change Width to the Width of the narrowest object --> Script01 Change Height to the Height of the shortest object --> Script02 Change Multiple Attributes (JohnWundes) --> Script03
icon image (couldn't place via Adobe Forum) --> click
I have a layer that contains two clipping groups (groups with a clip mask and other art). When I call layer.groupItems it returns an empty array. When I call layer.layers it returns the two clipping groups. I need to know if these layers are clipping groups, but if they are coming back as layers how can I figure that out?
I'm trying to remove all hidden page items regardless of how many sublayers they are burried in. I wrote a snippet here that seems to only partly work. It removes all hidden page items unless two hidden items exist right after each other in the stacking order.
for (i=0; i<doc.pageItems.length; i++){ if (doc.pageItems[i].hidden == true){ doc.pageItems[i].remove(); } }
I am trying to create a script to specify a percentage of the selected items you want to remove.Here is what I have so far.
I still need to work out on the alert prompt and the if statement, but for now, I have the feeling that the selection.length keep changing each time Illustrator delete an object, and I don't know how to make it stick.
var selection = app.activeDocument.selection; //alert prompt dialog for a percentage of deletion for (var i = 0; i < selection.length; i++) { if (Math.random < 0.5) { //need to work out the percentage alert("yes") selection[i].remove(); } }
I have script where I select items on multiple artboard but I can't seem to get get active art board of the selected item. Is this possible?
each artboard has a text item and I would like them in the same position on each of their own artboards that they are already one. right now it adjusts them all to one artboard. here is what I have so far
doc = app.activeDocument; for(i = 0; i < selection.length; i++){ var firstItemPosition = doc.selection[0].position; doc.selection[i].position = firstItemPosition; var activeArtboardIndex = doc.artboards.getActiveArtboardIndex(); alert(activeArtboardIndex); }
I'm a designer and i know nothing about scripting. But actually i would like to remove a bunch of text. I am working on a map, and i need to get rid of all text in parenthesis (the parenthesis included in). I know there will be a faster and efficient way to do it by scripting, but i don't know how to get to that.
Are there any scripts to find and replace layer names?
There is an excellent script available for Photoshop which allows you to not only replace words in layer names, but also insert words as Prefixes, Suffixes and Sequential Numbers. The illustrator version of this script only allows sequential numbering: It doesn't offer find and replacing of words.
Ideally, it would be great if there was something that could do multiple find and replaces in one go:
(E.g. You have layers like this Car, Dog, Bat You enter: car(Option1), dog(Option2), Bat(Option3) Your layers then become: Option1, Option2, Option3). )
I have multiple documents using text as symbols. I need to change a ® 2013 to a ® 2014 within the symbols. Without having to go into each document and double click on the symbol or break the link, is there a way to do a batch find and replace that will search within symbols to change text?