• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Resize Artboard to exact size : jscript

Community Beginner ,
Aug 13, 2013 Aug 13, 2013

Copy link to clipboard

Copied

Hello

I'm trying to resize my artboard to an exact mm size via a script so then I can add this to a batch i'm trying to achieve.

I've been trying to use the following, but i cant work out how to add the size I want in mm?

Any help?

Thanks

#target illustrator

var doc = app.activeDocument;

var docVB = doc.visibleBounds;

    var myVisibleBounds = doc.visibleBounds; //Rect, which is an array;

    myVisibleBounds[0] -= 20; //left coordinate (use negative values to add artboard)

    myVisibleBounds[1] += 20; //ltop coordinate

    myVisibleBounds[2] += 20; //right coordinate

    myVisibleBounds[3] -= 20; //bottom coordinate (use negative values to add artboard)

    doc.artboards[0].artboardRect = myVisibleBounds;

TOPICS
Scripting

Views

3.0K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Guru ,
Aug 13, 2013 Aug 13, 2013

Copy link to clipboard

Copied

AI does NOT allow measurement units like the othe apps it's points ONLY… SO you can do the math or use UnitValue()

#target illustrator

var mm = 2.834645;

var doc = app.activeDocument;

var myVisibleBounds = doc.visibleBounds; //Rect, which is an array;

myVisibleBounds[0] -= 20*mm; //left coordinate (use negative values to add artboard)

myVisibleBounds[1] += 20*mm; //ltop coordinate

myVisibleBounds[2] += 20*mm; //right coordinate

myVisibleBounds[3] -= 20*mm; //bottom coordinate (use negative values to add artboard)

doc.artboards[0].artboardRect = myVisibleBounds;

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 15, 2013 Aug 15, 2013

Copy link to clipboard

Copied

@Muppet Mark

ah i was only missing the *, thanks this is just what i wanted

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guru ,
Aug 15, 2013 Aug 15, 2013

Copy link to clipboard

Copied

There is a page of the scriping guide about measurment units when scripting AI… Just 2 methods really…

You were also missing the variable mm and it's value…

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 28, 2013 Aug 28, 2013

Copy link to clipboard

Copied

Hello

So it turns out i'm still struggling with this, i cant get it to the size i need and its driving me mad :s

So the example i'm trying to achieve is

Resize from 860mmx600mm to 700mmx500mm

Thanks for any help!

edit---

im not sure if this is the best way but i have changed

var mm = 1;

just worked out my sizes in points then done the maths to make this work

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 11, 2016 Nov 11, 2016

Copy link to clipboard

Copied

Not to try to answer the original question, but I have been struggling with modifying artboards as well, but in JavaScript. It got a lot easier when I realized that the document and the artboard have different coordinate systems. See Adobe's docs for Document's convertCoordinate() method and the app's coordinateSystem property. You can create a new Point to convert with syntax like "var newLeftTopPoint = Point(leftValue, topValue);" I did not find a way to create a new rect for changing the artboard dimensions, but found that you can make a copy of the existing artboard's rect to modify with converted coordinates, setting it back to the artboard in one operation (you can't change the array elements one at a time directly). There's something about the artoboard rect object that is more involved than simply being an array of four numbers; the reflection API tells you there are properties named 0, 1, 2 and 3, which lets you access the object as if it was an array, but there is more to the object than that.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 11, 2016 Nov 11, 2016

Copy link to clipboard

Copied

(Oh, and to add to the fun, the artboard coordinate system I think has a positive-down vertical axis but the document coordinate system is positive-up.) Also, the array order of the rect object does seem to be left, top, right, bottom (not sure why Adobe's docs couldn't have mentioned that somewhere).

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 11, 2016 Nov 11, 2016

Copy link to clipboard

Copied

LATEST

(Sorry, I spoke too soon about up and down question of the axes. I was confused by a negative value in converted artboard coords I saw for the doc origin of 0,0, which had a negative value in the doc I was looking at.)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines