2 Replies Latest reply on Nov 10, 2016 12:54 AM by natrev

    Save all layer combinations of 2 folders and keep one layer outside of the folders always visible no matter what combination

    navamez95629364

      i need a script to save images in jpg by combining the layers of 2 folders and to keep one layer outside of those 2 folders always visible

      Folder1
      -martin
      -jean
      Folder2
      -julie
      -poline
      1 layer outside of the groups (must be used always for every combinations)

      Wished result :

      best jpg quality images saved in a folder as followed:

      martin-julie.jpg
      martin-poline.jpg
      jean-julie.jpg
      jean-poline.jpg

      Many thanks

        • 1. Re: Save all layer combinations of 2 folders and keep one layer outside of the folders always visible no matter what combination
          navamez95629364 Level 1

          I have that script but I have 2 problems with it :

           

          1/ it works only for 1 folder and i have 2

          2/ it doesnt rename the saved files by combining the name of the layers

           

          // Name: Export Layers Inside Selected Group.jsx

          // Description: Photoshop script that separately saves top level layers inside the selected group.

          // https://gist.github.com/joonaspaakko/01 ... ba0fb9a2a0

           

          #target photoshop

           

          try {

          var doc = app.activeDocument;

          var docName = doc.name.split('.')[0];

          }

          catch (e) {

          alert( 'Open a document first...' );

          }

           

          function init() {

           

          var savefiles;

           

          dlg.g.saveAs.minimumSize.width = 463;

          dlg.btns.minimumSize.height = 142;

           

           

          dlg.btns.save.onClick = function(){

          savefiles = true;

          dlg.close();

          return savefiles;

          };

           

          dlg.show();

           

          if ( savefiles ){

           

          var getDestination = Folder.selectDialog( 'Select destination folder...', doc.saved ? doc.path : '' );

          var group = doc.activeLayer;

          var groupLength = group.layers.length;

           

          for( var i = 0 ; i < groupLength; i++ ){

          group.layers[i].visible = false;

          }

           

          for( var i = 0 ; i < groupLength; i++ ){

           

          var layer = group.layers[ i ];

          var layerIndex = i+1;

           

          layer.visible = true;

           

          save.file( dlg, doc, getDestination, layerIndex );

           

          layer.visible = false;

           

          }

           

          alert('Files Saved!');

           

          }

           

          }

           

          var save = {

          file: function( dlg, doc, getDestination, layerIndex ) {

           

          var saveOptions = {};

          var formats = ["psd", "pdf", "png", "jpg", "tiff"];

           

          for ( var i=0; i < formats.length; i++ ) {

          if ( dlg.g.saveAs[ formats[i] ].value ) {

           

          var fileformat = formats[i];

           

          var path = getDestination + "/" + fileformat;

           

          makeFolder( path );

           

          doc.saveAs( File( path + "/" + dlg.g.filename.filename.text + layerIndex ), save[fileformat](), true );

           

          }

          }

           

          },

          psd: function() {

           

          var psd_saveOpts = new PhotoshopSaveOptions();

           

          psd_saveOpts.layers = true;

          psd_saveOpts.embedColorProfile = true;

          psd_saveOpts.annotations = true;

          psd_saveOpts.alphaChannels = true;

           

          return psd_saveOpts;

           

          },

          pdf: function() {

           

          var presetName = '[High Quality Print]';

           

          var pdf_SaveOpts = new PDFSaveOptions();

           

          pdf_SaveOpts.pDFPreset = presetName;

           

          return pdf_SaveOpts;

           

          },

          jpg: function() {

           

          var jpg_SaveOpts = new JPEGSaveOptions();

           

          jpg_SaveOpts.matte = MatteType.WHITE;

          jpg_SaveOpts.quality = 10;

          jpg_SaveOpts.formatOptions.STANDARDBASELINE;

           

          return jpg_SaveOpts;

           

          },

          png: function() {

           

          var png_SaveOpts = new PNGSaveOptions();

           

          png_SaveOpts.compression = 9;

          png_SaveOpts.interlaced = false;

           

          return png_SaveOpts;

           

          },

          tiff: function() {

           

          var tiff_SaveOpts = new TiffSaveOptions();

           

          tiff_SaveOpts.alphaChannels = true;

          tiff_SaveOpts.annotations = true;

          tiff_SaveOpts.imageCompression = TIFFEncoding.JPEG;

          tiff_SaveOpts.interleaveChannels = true;

          tiff_SaveOpts.jpegQuality = 10;

          tiff_SaveOpts.layers = true;

          tiff_SaveOpts.layerCompression = LayerCompression.ZIP;

          tiff_SaveOpts.transparency = true;

           

          return tiff_SaveOpts;

           

          }

          };

           

          // Prepare dialog...

          var dlg = new Window("dialog { \

          text: 'Export layers inside the selected group', \

          alignChildren:['left','center'], \

          orientation: 'row', \

          g: Group { \

          orientation:'column', \

          alignChildren: ['left','center'], \

          filename: Panel { \

          orientation:'column', \

          alignChildren: ['left','top'], \

          filename_text: StaticText { alignment:'left', text: 'Filename ( Incremental numbers added automatically ): '}, \

          filename: EditText { alignment:'left', preferredSize: [430,20], text: '"+ docName +"', active: true }, \

          }, \

          saveAs: Panel { \

          margins: 20, \

          spacing: 20, \

          orientation: 'row', \

          alignChildren: ['left','top'], \

          saveAs_txt: StaticText { text: 'Save as: '}, \

          jpg: Checkbox { text: 'jpg', value: true }, \

          psd: Checkbox { text: 'psd', value: false }, \

          pdf: Checkbox { text: 'pdf', value: false }, \

          png: Checkbox { text: 'png', value: false }, \

          tiff: Checkbox { text: 'tiff', value: false } \

          } \

          }, \

          btns: Panel { \

          margins: 20, \

          spacing: 20, \

          orientation: 'column', \

          alignment: ['right','top'], \

          save: Button { text: 'Save', properties:{ name: 'ok' }, preferredSize:[88, 24] }, \

          cancel: Button { text: 'Cancel', properties:{ name: 'cancel' }, preferredSize:[88, 24] }, \

          } \

          }");

           

          function makeFolder( path ) {

           

          var newFolder = Folder( path );

          if( !newFolder.exists ) newFolder.create();

           

          }

           

          if ( app.documents.length > 0 ) {

          if ( app.activeDocument.activeLayer.layers ) {

           

          init();

           

          }

          else {

          alert( "Error: \nSelect a parent group of the layers you want to export.")

          }

          }

          • 2. Re: Save all layer combinations of 2 folders and keep one layer outside of the folders always visible no matter what combination
            natrev Level 3

            Hi navamez,

             

            Can you give proper screenshot to proceed further?

             

            Thanks,

            yajiv

            1 person found this helpful