• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

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

New Here ,
Nov 09, 2016 Nov 09, 2016

Copy link to clipboard

Copied

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

TOPICS
Actions and scripting

Views

510

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
New Here ,
Nov 09, 2016 Nov 09, 2016

Copy link to clipboard

Copied

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.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 ].value ) {

var fileformat = formats;

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.")

}

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 10, 2016 Nov 10, 2016

Copy link to clipboard

Copied

LATEST

Hi navamez,

Can you give proper screenshot to proceed further?

Thanks,

yajiv

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines