Skip to main content
Egor Chistyakov
Inspiring
October 20, 2015
Answered

Rename artboards using their numbers

  • October 20, 2015
  • 3 replies
  • 6111 views

I need a script or action or rtfm-quote that renames all artboards (may be selected only, but I see no use of it) with default pattern ('Artboard X'), where X is an actual number of artboard.

I'm a bit tired that after rearranging order of arboards their labels don't correspond with numbers.

This topic has been closed for replies.
Correct answer Disposition_Dev

function renameArtboards(){

     var docRef = app.activeDocument;

     var aB = docRef.artboards;

     for(var a=0;a<aB.length;a++){

          var curAB = aB;

          curAB.name = "Artboard " + [a+1];

     }

}

renameArtboards();

3 replies

Participant
November 13, 2021

Is this topic solved? I'm looking for the same solution!

soufianovitch
Known Participant
February 15, 2022

i think yes

Participant
September 18, 2020

Hi, williamadowling 

Can you show me how to use your script. Thanks you

 

femkeblanco
Legend
September 18, 2020

There's a missing } in the correct answer.  Add one to the line before last.  I.e it should look like this

function renameArtboards(){
  var docRef = app.activeDocument;
  var aB = docRef.artboards;
  for(var a=0; a<aB.length; a++){
    var curAB = aB;
    curAB.name = "Artboard " + [a+1];
  }
}
renameArtboards();

 

Albeitadrift
Inspiring
October 27, 2022

So total novice here - how do we use this code? I read to save as text file and rename to .jsx

I'm using text edit but only option is richtext? 

any help these years later be epic! 


So now I'm in script editor, but I'm getting the error below. Thanks again! 

LeoMari-eL6mBl
Inspiring
October 20, 2015

Hellow my friend!

carloscanto‌ wrote the script that solves your problem:

#target illustrator 

 

 

// script.name = UI_insertPageNumbers.jsx; // works with CS4 & CS5 

// script description = Inserts page numbers (or any other text) to all artboards in the active document; 

// script.required = at least one open document 

// script.parent = CarlosCanto // 11/14/11; 

// script.elegant = false; 

 

 

// Notes: The script creates a new layer (Page Numbers) then adds a text frame per Artboard that act as footer or header text. 

//                     Its primary function is to insert Page Numbers, but it could be used to insert any other kind of information. 

 

 

if (app.documents.length > 0) // continue if there's at leat one document open 

    { 

                    // start building User Interface 

                    var win = new Window("dialog","MTools - Insert Page Numbers"); 

                    var panelMargins = win.add("panel", undefined, "Margins"); 

                    var lblMargins = panelMargins.add("statictext",undefined,"How far from the edge:"); 

                    var txtMargins = panelMargins.add("edittext",undefined, 0.25);  

                    var lblUnits = panelMargins.add("statictext",undefined,"inches"); 

 

 

                    var panelLocation = win.add("panel", undefined, "Location"); 

                    var radTop = panelLocation.add("radiobutton",undefined,"Top"); 

                    var radBottom = panelLocation.add("radiobutton",undefined, "Bottom");  

 

 

                    var panelAlignment = win.add("panel", undefined, "Alignment"); 

                    var radLeft = panelAlignment.add("radiobutton",undefined,"Left"); 

                    var radCenter = panelAlignment.add("radiobutton",undefined, "Center");  

                    var radRight = panelAlignment.add("radiobutton",undefined, "Right");  

 

 

                    var panelFooter = win.add("panel", undefined, "Text to insert"); 

                    var grpPages = panelFooter.add("group"); 

                    var btnPage = grpPages.add("button",undefined,"Insert Page"); 

                    var btnPages = grpPages.add("button",undefined,"Insert Pages"); 

                    var txtFooter = panelFooter.add("edittext",undefined, "[Type text to insert here]");  

 

 

                    var btnOk = win.add("button", undefined, "Ok"); 

 

 

                    radRight.value = radBottom.value = true; 

 

 

                    win.alignChildren = panelFooter.alignChildren = "fill"; 

                    panelMargins.spacing = 3; 

                    panelMargins.orientation = panelLocation.orientation = panelAlignment.orientation = "row"; 

   

                    win.helpTip = "Coded by CarlosCanto"; 

                    btnPage.helpTip = "Adds *page* keyword, it represents a single page"; 

                    btnPages.helpTip = "Adds *pages* keyword, it represents total number of pages"; 

                    txtFooter.helpTip = "Type \r\t'Page *page* of *pages*' \rto get \r\t'Page 1 of 3' \rfor example"; 

   

                    //----------------------------------------------------------------------------------------- 

                                                            btnOk.onClick = function(){ 

                                                                      doSomething(); // call main function 

                                                                      win.close(); // close when done 

                                                             } 

                    //----------------------------------------------------------------------------------------- 

                    //----------------------------------------------------------------------------------------- 

                                                            btnPage.onClick = function(){ 

                                                                      footer("*page*"); 

                                                             } 

                    //----------------------------------------------------------------------------------------- 

                    //----------------------------------------------------------------------------------------- 

                                                            btnPages.onClick = function(){ 

                                                                      footer("*pages*"); 

                                                             } 

                    //----------------------------------------------------------------------------------------- 

 

 

                                                            win.center(); 

                                                            win.show(); 

   

                    //----------------------------------------------------------------------------------------- 

 

 

 

 

                    function footer (page) //  

                              { 

                                        txtFooter.text = txtFooter.text + page; 

                              } 

 

 

                    function doSomething() 

                              { 

                                        //alert("I'm doing something"); 

                                        var idoc = app.activeDocument; 

                                        var ilayer = idoc.layers.add(); 

                                        ilayer.name = "Page Numbers"; 

 

 

                                        var pages = idoc.artboards.length; // number of artboards 

                                        var footerPages = (txtFooter.text).replace("*pages*",pages); // replace the "*pages*" keyword with the actual number fo pages (artboards) 

   

                                        var margins = Number(txtMargins.text)*72; // get margins in points 

                                        //$.writeln(margins); 

   

                                        for (i = 0; i<idoc.artboards.length; i++) // loop thru all artboards, and add input text from UI 

                                                  { 

                                                            footerPage = footerPages.replace("*page*",i+1); // replace "*page*" keyword with the actual page Number 

                                                            var itext = ilayer.textFrames.add(); 

                                                            itext.contents = footerPage; //"page 1 of 1";  

                                                            var fontSize = itext.textRange.characterAttributes.size; 

   

                                                            var activeAB = idoc.artboards

 

 

                                                            var iartBounds = activeAB.artboardRect; 

   

                                                            var ableft = iartBounds[0]+margins; 

                                                            var abtop = iartBounds[1]-margins; 

                                                            var abright = iartBounds[2]-margins; 

                                                            var abbottom = iartBounds[3]+margins+fontSize; 

   

                                                            var abcenter = ableft+(abright-ableft)/2; 

   

 

 

   

                                                            if (radRight.value == true) 

                                                                      { 

                                                                                //var msg = "right"; 

                                                                                itext.left = abright; 

                                                                                itext.textRange.paragraphAttributes.justification = Justification.RIGHT; 

                                                                      } 

                                                            else if (radCenter.value == true) 

                                                                      { 

                                                                                //var msg = "center"; 

                                                                                itext.left = abcenter; 

                                                                                itext.textRange.paragraphAttributes.justification = Justification.CENTER; 

                                                                      } 

                                                            else 

                                                                      { 

                                                                                //var msg = "Left"; 

                                                                                itext.left = ableft; 

                                                                                itext.textRange.paragraphAttributes.justification = Justification.LEFT; 

                                                                      } 

 

 

                                                            if (radTop.value == true) 

                                                                      { 

                                                                                var msg = "top"; 

                                                                                itext.top = abtop; 

                                                                      } 

                                                            else 

                                                                      { 

                                                                                var msg = "bottom"; 

                                                                                itext.top = abbottom; 

                                                                      } 

                                                  } // end for loop thru all artboards 

                              } // end function doSomething(); 

     } 

else  

    { 

        alert ("there's no open documents"); 

    } 

or visit the link

Insert Page Numbers v2 | Ai Scripts

Egor Chistyakov
Inspiring
October 20, 2015

This is not quite what I wanted.

I guess my English is to blame.

I'm speaking of artboard names, seen as labels in top left corner when Artboard tool is active, or as list items in Artboards palete.

For example, I have created 4 artboards:

01 - Artboard 1

02 - Artboard 2

03 - Artboard 3

04 - Artboard 4

These are their names by default, right?

Then I rearrange them by dragging in pallete (or delete one from the middle); now they look like these:

01 - Artboard 3

02 - Artboard 1

03 - Artboard 2

04 - Artboard 4

I want something that will rename 'Artboard X' to their actula numbers, so they will look like they are just created.

I think even better would be something similar that illustrator-scripts/batchTextEdit.jsx at master · shspage/illustrator-scripts · GitHub does.

LeoMari-eL6mBl
Inspiring
October 20, 2015

I understand, I'll try and answer as soon as a solution.

hug