var msg = "Make sure you set your print setting correct and done,\nthen click Yes to run batch print layer" if (confirm(msg)) { // Get the current active document var doc = app.activeDocument; // Get all the layers except the background layer var layers = []; for (var i = 0; i < doc.layers.length; i++) { if(!doc.layers[i].isBackgroundLayer){ layers.push(doc.layers[i]); } } // Hide all the layers for (var i = 0; i < layers.length; i++) { layers[i].visible = false; } // Loop through each layer and print it for (var i = 0; i < layers.length; i++) { // Show the current layer layers[i].visible = true; // Print the current layer app.activeDocument.print(); //alert('printing'+layers[i].name) // Hide the current layer layers[i].visible = false; } // Show all the layers again for (var i = 0; i < layers.length; i++) { layers[i].visible = true; } } else { alert("Printing cancelled."); }