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

Popular posts from this blog

How to set the order of FAQs instead of alphabetical

Thread: Get UK Keyboard working

how do I change the e-mail address for my merchant account