Image Batch Processing stops on doc.saveAs()
#target photoshop
main();
function main(){
if(!documents.length) return;
var startrulerunits = app.preferences.rulerunits;
app.preferences.rulerunits = units.pixels;
var doc = app.activedocument;
var name = doc.name.replace(/\.[^\.]+$/, '');
var path = decodeuri(doc.path);
doc.convertprofile( 'srgb iec61966-2.1', intent.relativecolorimetric, true, true );
createnamedsnapshot("snap 1");
doc.convertprofile("working cmyk", intent.relativecolorimetric, true, true, false);
doc.resizeimage(1500, undefined, 300, resamplemethod.bicubic);
var outfolder = folder(path +"/tiff");
if(!outfolder.exists) outfolder.create();
var savefile = file(outfolder +"/"+name+"_1500px.tif");
savetiff(savefile);
revertnamedsnapshot("snap 1");
doc.resizeimage(1500, undefined, 300, resamplemethod.bicubic);
outfolder = folder(path +"/png");
if(!outfolder.exists) outfolder.create();
var savefile = file(outfolder +"/"+name+".png");
savepng(savefile);
revertnamedsnapshot("snap 1");
doc.resizeimage(500, undefined, 72, resamplemethod.bicubic);
outfolder = folder(path +"/500px");
if(!outfolder.exists) outfolder.create();
var savefile = file(outfolder +"/"+name+"_500px.jpg");
savejpeg(savefile,8);
revertnamedsnapshot("snap 1");
doc.resizeimage(150, undefined, 72, resamplemethod.bicubic);
outfolder = folder(path +"/150px");
if(!outfolder.exists) outfolder.create();
var savefile = file(outfolder +"/"+name+"_150px.jpg");
savejpeg(savefile,8);
revertnamedsnapshot("snap 1");
doc.resizeimage(100, undefined, 72, resamplemethod.bicubic);
outfolder = folder(path +"/gif");
if(!outfolder.exists) outfolder.create();
var savefile = file(outfolder +"/"+name+"_100px.gif");
savegif(savefile);
app.activedocument.close(saveoptions.donotsavechanges);
app.preferences.rulerunits = startrulerunits;
if(documents.length)
var doc = activedocument;
var width = doc.width.as('px');
var height = doc.height.as('px');
var max = math.max(width,height);
var min = math.min(width,height);
var white = new solidcolor;
white.rgb.hexvalue = 'ffffff';
backgroundcolor = white;
doc.resizecanvas(new unitvalue(max,"px"),new unitvalue(max,"px"),anchorposition.middlecenter);
doc.resizeimage(new unitvalue(min,"px"), undefined, undefined, resamplemethod.bicubic);
doc.resizeimage(1000, undefined, 300, resamplemethod.bicubic);
var outfolder = folder(path +"/thd");
var savefile = file(outfolder +"/"+name+"_thd.jpg");
savejpeg(savefile,8);
revertnamedsnapshot("snap 1");
}
function savejpeg(savefile, jpegquality){
jpgsaveoptions = new jpegsaveoptions();
jpgsaveoptions.embedcolorprofile = true;
jpgsaveoptions.formatoptions = formatoptions.standardbaseline;
jpgsaveoptions.matte = mattetype.none;
jpgsaveoptions.quality = jpegquality; //1-12
activedocument.saveas(savefile, jpgsaveoptions, true, extension.lowercase);
}
function savetiff(savefile){
tiffsaveoptions = new tiffsaveoptions();
tiffsaveoptions.embedcolorprofile = true;
tiffsaveoptions.alphachannels = true;
tiffsaveoptions.layers = true;
tiffsaveoptions.imagecompression = tiffencoding.tifflzw;
activedocument.saveas(new file(savefile), tiffsaveoptions, true, extension.lowercase);
}
function savepng(savefile){
pngsaveoptions = new pngsaveoptions();
doc.saveas(savefile, pngsaveoptions, true, extension.lowercase);
}
function savegif(savefile){
gifsaveoptions = new exportoptionssaveforweb();
gifsaveoptions.colors = 256;
gifsaveoptions.dither = dither.none;
gifsaveoptions.quality = 0;
gifsaveoptions.matte = mattetype.semigray;
doc.exportdocument(giffile, exporttype.saveforweb, gifsaveoptions, extension.lowercase);
}
function createnamedsnapshot(name) {
var desc = new actiondescriptor();
var ref = new actionreference();
ref.putclass( charidtotypeid('snps') );
desc.putreference( charidtotypeid('null'), ref );
var ref1 = new actionreference();
ref1.putproperty( charidtotypeid('hsts'), charidtotypeid('crnh') );
desc.putreference( charidtotypeid('from'), ref1 );
desc.putstring( charidtotypeid('nm '), name );
desc.putenumerated( charidtotypeid('usng'), charidtotypeid('hsts'), charidtotypeid('flld') );
}
function revertnamedsnapshot(name) {
var desc = new actiondescriptor();
var ref = new actionreference();
ref.putname( charidtotypeid('snps'), name );
desc.putreference( charidtotypeid('null'), ref );
executeaction( charidtotypeid('slct'), desc, dialogmodes.no );
}
does works you?
function savepng(savefile){ // save4webpng8(savefile) var pngsaveoptions = new exportoptionssaveforweb; pngsaveoptions.format = savedocumenttype.png pngsaveoptions.png8 = true; //pngsaveoptions.transparency = false; //pngsaveoptions.interlaced = false; doc.exportdocument(savefile,exporttype.saveforweb,pngsaveoptions, extension.lowercase); }
More discussions in Photoshop Scripting
adobe
Comments
Post a Comment