2 Replies Latest reply on May 12, 2017 6:04 AM by attil

    Add "bleed size" to script...

    attil Level 1

      Here's the script. How do i add a "bleed size" variable to it?


      // https://forums.adobe.com/thread/2049382 

      // Main script by Loic Aigon Add highly customized Text Variables to InDesign | Ozalto 

      // Additions (First Page Dimensions and variable update on script execution) 

      // and modifications (without permission, sorry Loic) by Trevor http://www.creative-scripts.com 

      #targetengine 'usernameVariable' 


      //This function adds static text variables in InDesign 

      //They won't be dynamically updated though. 

      //That's why we need the updating function below 


      function toTitleCase(s) { // By Trevor 

          return s.toLowerCase().replace(/\b\w/g, function () {return arguments[0].toUpperCase()}); 


      function myRound(thisNumber, digits) { // By Trevor 

              digits = (digits) ? Math.pow(10, digits) : 1000; 

              return Math.round(thisNumber * digits) / digits; 


      function addVariables(openEvent){ 

          if (!openEvent) return; 

          var doc = (openEvent.constructor == Document) ? openEvent : openEvent.parent; // By Trevor 

          while ( doc.constructor.name != "Document" ) 


              if ( doc.constructor.name == "Application" ){ return; } 


             doc = doc.parent; 



          //Adding User name to text variables 

          createTextVariable(doc, "User name", $.getenv($.os[0] == "M" ? "USER" : "username") ); // changed by Trevor 

          //Adding Computer name to text variables 

          createTextVariable(doc, "HD Name", (Folder.system).parent.displayName ); 


          //Adding Computer name to text variables 

          createTextVariable(doc, "Computer Name", getComputerName() ); 


          //Adding a link to my website 

          createTextVariable(doc, "_About Loic Aigon", "Feel free to visit my website: http://www.loicaigon.com !" ); 


          //Adding a link to my website 

          createTextVariable(doc, "_About Trevor", "Feel free to visit my website: http://www.creative-scripts.com !" ); // by Trevor 


          //Adding First Page Dimensions 

          createTextVariable(doc, "First Page Dimensions", getPageDimentions(doc.pages[0])); // by Trevor 



      addVariables(app.properties.activeDocument); // callback by Trevor 


      //Generic function to add static custom text variables 

      function createTextVariable(target, variableName, variableContents){ 


          var usernameVariable = target.textVariables.itemByName(variableName); 


              usernameVariable = target.textVariables.add(); 

              usernameVariable.variableType = VariableTypes.CUSTOM_TEXT_TYPE; 

              usernameVariable.name = variableName; 


          usernameVariable.variableOptions.contents = variableContents; 



      //Snippet for grabbing the  deep name of the computer 

      function getComputerName(){ // by Trevor 

          return $.os[0] == "M" ? app.doScript("get computer name of (system info)", ScriptLanguage.APPLESCRIPT_LANGUAGE) : $.getenv("computername"); 


      function getPageDimentions(page){ // by Trevor 

          var width, height, bounds, units, decPlaces; 

          // function presumes that normal pages 

          // i.e. same vertical and horizontal and no page shape transformations 

          decPlaces = 3; 

          units = toTitleCase(page.parent.parent.viewPreferences.horizontalMeasurementUnits.toString()); // If you forgot to include the toTitleCase function then remove the method 

          bounds = page.bounds; 

          height = bounds[2] - bounds[0]; 

          height = myRound(height, decPlaces); 

          width = bounds[3] - bounds[1]; 

          width = myRound(width, decPlaces); 

          return width + " X " + height + " " + units 


      //Add listeners to update file when opened. 

      app.addEventListener('afterOpen', addVariables); 

      // You might like to add some or all of these to make the update better 

      app.addEventListener('beforeSave', addVariables); // by Trevor 

      app.addEventListener('beforeSaveAs', addVariables); // by Trevor 

      app.addEventListener('beforeSaveACopy', addVariables); // by Trevor 

      app.addEventListener('beforeExport', addVariables); // by Trevor 

      app.addEventListener('beforePrint', addVariables); // by Trevor 

      app.addEventListener('beforeDeactivate', addVariables); // by Trevor 

      app.addEventListener('afterActivate', addVariables); // by Trevor