Script to Export Layers as PNG maintaining Artboard dimension
Artboard 1
->layer 1
->layer 2
finding a script to export layer 1 and 2 as png with dimension of Artboard 1.
tried this one, it worked but exported layers sizes are diffrent..
var options = new ExportOptionsPNG24();
var doc = app.activeDocument;
$.writeln("trying to save");
var newdoc = app.documents.add(doc.documentColorSpace, doc.width, doc.height);
newdoc.artboards[0].artboardRect = doc.artboards[0].artboardRect;
saveSubLayers(doc, "");
newdoc.close(SaveOptions.DONOTSAVECHANGES);
function saveSubLayers(node, path){
for (var i=0; i<node.layers.length; i++){
var layer = node.layers[i];
if (!layer.visible)
continue;
if (layer.layers.length > 0){
saveSubLayers(layer, path+"/"+layer.name);
} else {
saveLayer(layer, path);
}
}
}
function saveLayer(layer, path){
newdoc.layers[0].remove();
var newlayer = newdoc.layers[0];
for (var ii = layer.pageItems.length - 1; ii >= 0; ii--)
layer.pageItems[ii].duplicate(newlayer, ElementPlacement.PLACEATBEGINNING);
new Folder(doc.path + path).create();
newdoc.exportFile(new File(doc.path + path + "/" + layer.name + ".png"), ExportType.PNG24, options);
}
