Skip to main content
MidoSemsem
Inspiring
July 5, 2022
Answered

Unify Multiple Artboard Sizes

  • July 5, 2022
  • 2 replies
  • 540 views

Hello all,

I'm looking for a script to set multiple artboard sizes to specific dimensions.

Luckily I found this script, but unfortunately it's in Chinese.
Is there a similar script or can someone edit the code for translation?


Thanks in advance 

This topic has been closed for replies.
Correct answer MidoSemsem

Thanks to @CarlosCanto I can used and it seems to work fine.

//  script.name = resizeArtboards_CS4andUp.jsx;
//  script.description = resizes all artboards;
//  script.requirement = one document with at least one artboard;
//  script.parent = carlos canto // 11/4/12;
//  script.elegant = false;

if (app.documents.length > 0) {


        //alert("more than 0");
                    var idoc = app.activeDocument;


        var title = "Resize All Artboards";


        var width = Number(Window.prompt ("Enter New Artboard Width in points", 612, title));
        var height = Number(Window.prompt ("Enter New Artboard Height in points", 792, title));


    for (i=0; i<idoc.artboards.length; i++) {
        var abBounds = idoc.artboards[i].artboardRect;// left, top, right, bottom


        var ableft = abBounds[0]; // 0
        var abtop = abBounds[1]; // 612
        var abwidth = abBounds[2] - ableft; // 792 // width
        var abheight = abtop- abBounds[3]; // 0 // height

        var abctrx = abwidth/2+ableft;
        var abctry = abtop-abheight/2;

        var ableft = abctrx-width/2;
        var abtop = abctry+height/2;
        var abright = abctrx+width/2;
        var abbottom = abctry-height/2;

        idoc.artboards[i].artboardRect = [ableft, abtop, abright, abbottom];
    }
}
 else  {
        alert ("there are no open documents");
}

 
The main advantage of the first script is about details and options available. 
I hope CarlosCanto's version will be updated

2 replies

MidoSemsem
MidoSemsemAuthorCorrect answer
Inspiring
July 6, 2022

Thanks to @CarlosCanto I can used and it seems to work fine.

//  script.name = resizeArtboards_CS4andUp.jsx;
//  script.description = resizes all artboards;
//  script.requirement = one document with at least one artboard;
//  script.parent = carlos canto // 11/4/12;
//  script.elegant = false;

if (app.documents.length > 0) {


        //alert("more than 0");
                    var idoc = app.activeDocument;


        var title = "Resize All Artboards";


        var width = Number(Window.prompt ("Enter New Artboard Width in points", 612, title));
        var height = Number(Window.prompt ("Enter New Artboard Height in points", 792, title));


    for (i=0; i<idoc.artboards.length; i++) {
        var abBounds = idoc.artboards[i].artboardRect;// left, top, right, bottom


        var ableft = abBounds[0]; // 0
        var abtop = abBounds[1]; // 612
        var abwidth = abBounds[2] - ableft; // 792 // width
        var abheight = abtop- abBounds[3]; // 0 // height

        var abctrx = abwidth/2+ableft;
        var abctry = abtop-abheight/2;

        var ableft = abctrx-width/2;
        var abtop = abctry+height/2;
        var abright = abctrx+width/2;
        var abbottom = abctry-height/2;

        idoc.artboards[i].artboardRect = [ableft, abtop, abright, abbottom];
    }
}
 else  {
        alert ("there are no open documents");
}

 
The main advantage of the first script is about details and options available. 
I hope CarlosCanto's version will be updated

m1b
Community Expert
Community Expert
July 5, 2022

Hi @MidoSemsem, do you just want to use it? If so see below. Or do you want to adapt the code for your own use? In that case, you don't need to translate the Chinese, you need to translate the binary encoding! Which is harder.

 

I don't read Chinese, but the script was easy to use. I ran it, entered the artboard size I wanted, select which artboards (script calls them "pages") and whether it sizes the artboards from top left (default is center) and pressed Enter. (Buttons are equivalent of "Cancel" and "OK".

 

I sense that this won't be a satisfactory answer for you and, if so, so please outline your exact needs.

- Mark

MidoSemsem
Inspiring
July 6, 2022

Thanks @m1b

I'm learning how to use it by trial. I want to make it easier for my junior coworkers to use with knowledge instead of testing.