Guest User

Adobe Illustrator - multi artboards

a guest
Aug 24th, 2025
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. //Documentation: https://ai-scripting.docsforadobe.dev/jsobjref/Document/#documentartboards
  2.  
  3. //How to alert: alert("Hello world!")
  4. //How to confirm: confirm ("Are you sure?")
  5.  
  6. function showCustomDialog() {
  7. var dlg = new Window("dialog", "Custom Settings");
  8.  
  9. dlg.add("statictext", undefined, "Number of columns:");
  10. var colInput = dlg.add("edittext", undefined, "9");
  11. colInput.characters = 10;
  12.  
  13. dlg.add("statictext", undefined, "Size:");
  14. var sizeInput = dlg.add("edittext", undefined, "50");
  15. sizeInput.characters = 10;
  16.  
  17. dlg.add("statictext", undefined, "Spacing:");
  18. var spacingInput = dlg.add("edittext", undefined, "20");
  19. spacingInput.characters = 10;
  20.  
  21. dlg.add("statictext", undefined, "Names (comma separated):");
  22. var namesInput = dlg.add("edittext", undefined, "", {multiline: true, scrolling: true});
  23. namesInput.preferredSize = [300, 120];
  24.  
  25. var btnGroup = dlg.add("group");
  26. btnGroup.alignment = "right";
  27. var okBtn = btnGroup.add("button", undefined, "OK", {name: "ok"});
  28. var cancelBtn = btnGroup.add("button", undefined, "Cancel", {name: "cancel"});
  29.  
  30. if (dlg.show() == 1) {
  31. var numColumns = parseInt(colInput.text, 10);
  32. var size = parseInt(sizeInput.text);
  33. var spacing = parseInt(spacingInput.text);
  34. var names = namesInput.text;
  35.  
  36. return {columns: numColumns, size: size, names: names, spacing: spacing};
  37. } else {
  38. alert("Canceled.");
  39. return null;
  40. }
  41. }
  42.  
  43. var doc = app.activeDocument;
  44.  
  45. var settings = showCustomDialog();
  46.  
  47. var colsCount = settings["columns"];
  48. var artboardSize = settings["size"];
  49. var artboardNamesStr = settings["names"];
  50. var pad = settings["spacing"];
  51.  
  52. var x = 0;
  53. var y = 0;
  54. var artboardCounter = 0;
  55.  
  56. var artboardNamesArray = artboardNamesStr.split(",");
  57. for(artboardIndex in artboardNamesArray){
  58. var artboardName = artboardNamesArray[artboardIndex];
  59. doc.artboards.add([x, -y, new UnitValue(x + artboardSize, "px"), -new UnitValue(y + artboardSize, "px")]);
  60. var lastArtboard = doc.artboards[doc.artboards.length - 1];
  61. lastArtboard.name = artboardName;
  62.  
  63. artboardCounter += 1;
  64. x = x + artboardSize + pad;
  65.  
  66. if(artboardCounter >= colsCount) {
  67. artboardCounter = 0;
  68. x = 0
  69. y = y + artboardSize + pad;
  70. }
  71. }
  72.  
  73. app.redraw();
  74.  
  75.  
Advertisement
Add Comment
Please, Sign In to add comment