#target photoshop app.bringToFront(); function main(){ var Prefs ={}; try{ var desc1 = app.getCustomOptions('30082bf0-700a-11df-be2b-0800200c9a66'); Prefs = eval(desc1.getString(0)); }catch(e){} var win = new Window( 'dialog', 'PP' ); g = win.graphics; var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]); g.backgroundColor = myBrush; win.orientation='stack'; win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"}); win.g1 = win.p1.add('group'); win.g1.orientation = "row"; win.title = win.g1.add('statictext',undefined,'Picture Processor'); win.title.helpTip="Compliments of Paul Riggott"; win.title.alignment="fill"; var g = win.title.graphics; g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22); win.g5 =win.p1.add('group'); win.g5.orientation = "row"; win.g5.alignment='fill'; win.g5.spacing=10; win.g5.rb1 = win.g5.add('radiobutton',undefined,'Use Folder'); win.g5.rb3 = win.g5.add('radiobutton',undefined,'Use Bridge Files'); win.g5.cb1 = win.g5.add('checkbox',undefined,'Save files to existing folder'); win.g5.cb1.helpTip="Files will be overwritten if they exist!"; win.g5.rb1.value=true; win.g10 =win.p1.add('group'); win.g10.orientation = "row"; win.g10.alignment='fill'; win.g10.cb1 = win.g10.add('checkbox',undefined,'Process Sub Folders'); win.g10.cb2 = win.g10.add('checkbox',undefined,'Preserve Sub Folder Structure'); win.g10.cb2.helpTip="Only folders that contain files will be created."; win.g10.cb2.enabled=false; win.g10.cb1.onClick= function(){ if(win.g10.cb1.value){ win.g10.cb2.value=false; if(!win.g5.cb1.value) win.g10.cb2.enabled=true; }else{ win.g10.cb2.value=false; win.g10.cb2.enabled=false; } } var FileExtensions = "ALL FILES,DNG,PSD,PDD,JPEG,JPG,JPE,GIF,BMP,RLE,DIB,TIF,CRW,NEF,RAF,ORF,CIN,DPX,EPS,PS,FLM,PSB,EXR,PCX,PDP," + "PCD,RAW,PICT,PCT,PIC,PXR,PNG,TGA,VDA,ICB,VST,TIF,TIFF,WBM,DNG,SCT,PBM,CRW,CR2,DC2,DCR,NEF,MOS,MRW,X3F"; FileExtensions= FileExtensions.toUpperCase(); FileExtensions = FileExtensions.split(","); FileExtensions= ReturnUniqueSortedList(FileExtensions); win.g12 =win.p1.add('group'); win.g12.orientation = 'row'; win.g12.alignment='fill'; win.g12.spacing=10; win.g12.st1 = win.g12.add('statictext',undefined,'Source Folder :-'); win.g12.st1.preferredSize=[160,20]; win.g12.st2 = win.g12.add('statictext',undefined,'File Type'); win.g12.dd1 = win.g12.add('dropdownlist',undefined,FileExtensions); win.g12.dd1.selection=0; if(Prefs.FileExts != undefined){ win.g12.dd1.selection = Number(Prefs.FileExts); } win.g15 =win.p1.add('group'); win.g15.spacing=10; win.g15.orientation = 'row'; win.g15.alignment="left"; win.g15.et1 = win.g15.add('edittext',undefined,''); win.g15.et1.preferredSize=[300,20]; win.g15.et1.enabled=false; win.g15.bu1 = win.g15.add('button',undefined,'Browse'); win.g15.bu1.helpTip="Select source folder"; win.g15.bu1.onClick = function() { try{ if(Prefs.folder2 != undefined){ var Folder2 = Folder(Prefs.folder2); topLevelFolder = Folder(Prefs.folder2); }else{ var Folder2 =''; } }catch(e){} topLevelFolder = Folder.selectDialog("Please select the source folder",Folder2); if(topLevelFolder !=null){ win.g15.et1.text = decodeURI(topLevelFolder.fsName); Prefs.folder2 = decodeURI(topLevelFolder.fsName); } } if(Prefs.folder2 != undefined){ win.g15.et1.text = Prefs.folder2; topLevelFolder = Folder(Prefs.folder2); } win.g5.rb3.onClick = function(){ win.g5.rb1.onClick(); } win.g5.rb1.onClick = function(){ if(win.g5.rb1.value){ win.g10.cb1.value=false; win.g10.cb1.enabled=true; win.g10.cb2.value=false; win.g10.cb2.enabled=false; win.g15.et1.enabled=false; win.g15.bu1.enabled=true; win.g12.dd1.enabled=true; }else{ win.g10.cb1.value=false; win.g10.cb1.enabled=false; win.g10.cb2.value=false; win.g10.cb2.enabled=false; win.g15.bu1.enabled=false; win.g12.dd1.enabled=false; } } win.g20 =win.p1.add('group'); win.g20.st1 = win.g20.add('statictext',undefined,'Output / Top Level Folder :-'); win.g25 =win.p1.add('group'); win.g25.spacing=10; win.g25.orientation = 'row'; win.g25.alignment="left"; win.g25.et1 = win.g25.add('edittext',undefined,''); win.g25.et1.preferredSize=[300,20]; win.g25.et1.enabled=false; win.g25.bu1 = win.g25.add('button',undefined,'Browse'); win.g25.bu1.helpTip="Select output folder"; win.g25.bu1.onClick = function() { try{ if(Prefs.folder != undefined){ var Folder1 = Folder(Prefs.folder); outputFolder = Folder(Prefs.folder); }else{ var Folder1 =''; } }catch(e){} outputFolder = Folder.selectDialog("Please select the output folder",Folder1); if(outputFolder !=null){ win.g25.et1.text = decodeURI(outputFolder.fsName); Prefs.folder = decodeURI(outputFolder.fsName); } } win.g5.cb1.onClick=function(){ if(win.g5.cb1.value){ win.g10.cb2.value=false; win.g10.cb2.enabled=false; win.g25.bu1.enabled=false; }else{ win.g25.bu1.enabled=true; win.g10.cb1.onClick(); } } try{ if(Prefs.folder != undefined){ win.g25.et1.text = Prefs.folder; outputFolder = Folder(Prefs.folder); } }catch(e){} win.g27 =win.p1.add('group'); win.g27.spacing=10; win.g27.orientation = 'row'; win.g27.alignment="left"; win.g27.cb1 = win.g27.add('checkbox',undefined,'Flatten'); win.g27.cb1.helpTip="Flatten document"; win.g27.cb2 = win.g27.add('checkbox',undefined,'Conv. to 8bit'); win.g27.cb2.helpTip="Convert to 8bit document"; win.g27.cb3 = win.g27.add('checkbox',undefined,'Rem. Paths'); win.g27.cb3.helpTip="Remove all paths"; win.g27.cb4 = win.g27.add('checkbox',undefined,'Rem. Alpha Channels'); win.g27.cb4.helpTip="Remove all alpha channels"; win.g27.cb1.value=true; if(Prefs.Flatten != undefined) win.g27.cb1.value = Prefs.Flatten; if(Prefs.EightBit != undefined) win.g27.cb2.value = Prefs.EightBit; if(Prefs.Paths != undefined) win.g27.cb3.value = Prefs.Paths; if(Prefs.Channels != undefined) win.g27.cb4.value = Prefs.Channels; win.g28 =win.p1.add('group'); win.g28.spacing=5; win.g28.orientation = 'row'; win.g28.alignment="left"; win.g28.cb1 = win.g28.add('checkbox',undefined,'Sort'); win.g28.cb2 = win.g28.add('checkbox',undefined,'AlphaNumeric Sort'); win.g28.cb3 = win.g28.add('checkbox',undefined,'Reverse Order'); if(Prefs.sort != undefined) win.g28.cb1.value = Prefs.sort; if(Prefs.sortAlpha != undefined) win.g28.cb2.value = Prefs.sortAlpha; if(Prefs.reverse != undefined) win.g28.cb3.value = Prefs.reverse; win.g29 =win.p1.add('group'); win.g29.spacing=0; win.g29.orientation = 'row'; win.g29.alignment="left"; win.g29.cb0 = win.g29.add('checkbox',undefined,'Resize Documents'); win.g29.bu1 = win.g29.add('button',undefined,'Refine Resize Options'); win.g29.bu1.visible=false; win.pnl1a = win.add('panel', undefined, undefined, {borderStyle:"black"}); win.pnl1a.orientation='column'; win.pnl1a.alignment='fill'; win.pnl1a.st1 = win.pnl1a.add('statictext',undefined,'Resize Documents'); win.pnl1a.st1.graphics.font = ScriptUI.newFont("Georgia","BOLDITALIC",22); ///*************** win.pnl1a.g28 = win.pnl1a.add('group'); win.pnl1a.g28.orientation = 'row'; win.pnl1a.g28.alignment="left"; win.pnl1a.g28.cb4 = win.pnl1a.g28.add('checkbox',undefined,'Resize documents after actions have been applied'); win.pnl1a.sGrp0 =win.pnl1a.add('group'); win.pnl1a.sGrp0.p1= win.pnl1a.sGrp0.add('panel', undefined, undefined, {borderStyle:"black"}); win.pnl1a.sGrp0.p1.preferredSize=[400,2]; win.pnl1a.g29 = win.pnl1a.add('group'); win.pnl1a.g29.orientation = 'row'; win.pnl1a.g29.alignment="left"; win.pnl1a.g29.cb1 = win.pnl1a.g29.add('checkbox',undefined,'Fit Image'); win.pnl1a.g29.cb1.helpTip="Fit Image (Size is in Pixels)"; win.pnl1a.g29.cb2 = win.pnl1a.g29.add('checkbox',undefined,'Don\'t reduce'); win.pnl1a.g29.cb2.helpTip="Downsize only if the original is larger"; win.pnl1a.g29.cb3 = win.pnl1a.g29.add('checkbox',undefined,'Don\'t enlarge'); win.pnl1a.g29.cb3.helpTip="Do not make larger"; win.pnl1a.g29a = win.pnl1a.add('group'); win.pnl1a.g29a.orientation = 'row'; win.pnl1a.g29a.alignment="left"; win.pnl1a.g29.st1 = win.pnl1a.g29a.add('statictext',undefined,'Width : (pixels)'); win.pnl1a.g29.st1.helpTip="Pixels"; win.pnl1a.g29.et1 = win.pnl1a.g29a.add('edittext',undefined,'') win.pnl1a.g29.et1.preferredSize=[50,20]; win.pnl1a.g29.st3 = win.pnl1a.g29a.add('statictext',undefined,'Height : (pixels)'); win.pnl1a.g29.st3.helpTip="Pixels"; win.pnl1a.g29.et2 = win.pnl1a.g29a.add('edittext',undefined,''); win.pnl1a.g29.et2.preferredSize=[50,20]; win.pnl1a.g29.et1.enabled=false; win.pnl1a.g29.et2.enabled=false; win.pnl1a.g29.cb1.onClick = function(){ if(win.pnl1a.g29.cb1.value){ win.pnl1a.g29.et1.enabled=true; win.pnl1a.g29.cb2.enabled=true; win.pnl1a.g29.cb3.enabled=true; win.pnl1a.g29.et1.active=true; win.pnl1a.g29.et2.enabled=true; win.pnl1a.g29a.cb0.value=false; win.pnl1a.g29a.cb0.onClick(); }else{ win.pnl1a.g29.et1.enabled=false; win.pnl1a.g29.et2.enabled=false; win.pnl1a.g29.cb2.enabled=false; win.pnl1a.g29.cb2.value=false; win.pnl1a.g29.cb3.enabled=false; win.pnl1a.g29.cb3.value=false; } } win.pnl1a.g29.cb1.onClick(); win.pnl1a.g29.cb2.onClick = function(){ if(win.pnl1a.g29.cb2.value) win.pnl1a.g29.cb3.value=false; } win.pnl1a.g29.cb3.onClick = function(){ if(win.pnl1a.g29.cb3.value) win.pnl1a.g29.cb2.value=false; } win.pnl1a.g29.et1.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } }; win.pnl1a.g29.et2.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } }; try{ win.pnl1a.sGrp1 =win.pnl1a.add('group'); win.pnl1a.sGrp1.p1= win.pnl1a.sGrp1.add('panel', undefined, undefined, {borderStyle:"black"}); win.pnl1a.sGrp1.p1.preferredSize=[400,2]; resizeMethod = ["Bicubic", "BicubicSharper","BicubicSmoother", "Bilinear", "NearestNeighbor"]; resizeUnits = ["pixels", "percent", "inches","cm", "mm", "points", "picas"]; win.pnl1a.g29a =win.pnl1a.add('group'); win.pnl1a.g29a.spacing=0; win.pnl1a.g29a.orientation = 'row'; win.pnl1a.g29a.alignment="left"; win.pnl1a.g29a.cb0 = win.pnl1a.g29a.add('checkbox',undefined,'Custom Fit Image'); win.pnl1a.g29a.cb1 = win.pnl1a.g29a.add('checkbox',undefined,'Constrain Proportions'); win.pnl1a.g29a.cb1.value=true; win.pnl1a.g29a.cb1.helpTip="If unticked this could distort the image!"; win.pnl1a.g29b =win.pnl1a.add('group'); win.pnl1a.g29b.spacing=0; win.pnl1a.g29b.orientation = 'row'; win.pnl1a.g29b.alignment="left"; win.pnl1a.g29b.st1 = win.pnl1a.g29b.add('statictext',undefined,'Width'); win.pnl1a.g29b.et1 = win.pnl1a.g29b.add('edittext',undefined,''); win.pnl1a.g29b.et1.preferredSize=[40,20]; win.pnl1a.g29b.st2 = win.pnl1a.g29b.add('statictext',undefined,'Height'); win.pnl1a.g29b.et2 = win.pnl1a.g29b.add('edittext',undefined,''); win.pnl1a.g29b.et2.preferredSize=[40,20]; win.pnl1a.g29b.dd1 = win.pnl1a.g29b.add('dropdownlist',undefined,resizeUnits); win.pnl1a.g29b.dd1.selection=0; win.pnl1a.g29b.dd2 = win.pnl1a.g29b.add('dropdownlist',undefined,resizeMethod); win.pnl1a.g29b.dd2.selection=0; win.pnl1a.g29c =win.pnl1a.add('group'); win.pnl1a.g29c.spacing=0; win.pnl1a.g29c.orientation = 'row'; win.pnl1a.g29c.alignment="left"; win.pnl1a.g29c.cb0 = win.pnl1a.g29c.add('checkbox',undefined,'Use documents resolution'); win.pnl1a.g29c.cb0.value=true; win.pnl1a.g29c.st1 = win.pnl1a.g29c.add('statictext',undefined,'Enter resolution'); win.pnl1a.g29c.et1 = win.pnl1a.g29c.add('edittext'); win.pnl1a.g29c.et1.preferredSize=[40,20]; win.pnl1a.g29c.et1.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } }; win.pnl1a.g29c.cb0.onClick=function(){ if(win.pnl1a.g29c.cb0.value){ win.pnl1a.g29c.et1.visible=false; win.pnl1a.g29c.st1.visible=false; }else{ win.pnl1a.g29c.et1.visible=true; win.pnl1a.g29c.st1.visible=true; } } win.pnl1a.g29c.cb0.onClick(); win.pnl1a.g29a.cb0.onClick = function(){ if(win.pnl1a.g29a.cb0.value){ win.pnl1a.g29a.cb1.enabled=true; win.pnl1a.g29b.et1.enabled=true; win.pnl1a.g29b.et2.enabled=true; win.pnl1a.g29b.dd1.enabled=true; win.pnl1a.g29b.dd2.enabled=true; win.pnl1a.g29c.cb0.enabled=true; win.pnl1a.g29.cb1.value=false; win.pnl1a.g29.cb1.onClick(); }else{ win.pnl1a.g29a.cb1.enabled=false; win.pnl1a.g29b.et1.enabled=false; win.pnl1a.g29b.et2.enabled=false; win.pnl1a.g29b.dd1.enabled=false; win.pnl1a.g29b.dd2.enabled=false; win.pnl1a.g29c.cb0.enabled=false; win.pnl1a.g29c.cb0.value=true; win.pnl1a.g29c.cb0.onClick(); win.pnl1a.g29a.cb1.value=true; } } win.pnl1a.g29b.et1.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } }; win.pnl1a.g29b.et2.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } }; win.pnl1a.g29a.cb0.onClick(); }catch(e){alert(e+" - "+e.line);} win.pnl1a.sGrp3 =win.pnl1a.add('group'); win.pnl1a.sGrp3.p1= win.pnl1a.sGrp3.add('panel', undefined, undefined, {borderStyle:"black"}); win.pnl1a.sGrp3.p1.preferredSize=[400,2]; win.grp1100= win.pnl1a.add('group'); win.grp1100.orientation='row'; win.grp1100.bu1 = win.pnl1a.add('button',undefined,'Done'); win.grp1100.bu1.alignment='fill'; win.pnl1a.visible=false; win.grp1100.bu1.onClick=function(){ if(!win.pnl1a.g29a.cb0.value && !win.pnl1a.g29.cb1.value){ alert("You need to select Fit Image or Custom Fit Image!"); return; } if(win.pnl1a.g29.cb1.value){//fit image if(win.pnl1a.g29.et1.text == ''){ alert("No width value has been entered"); return; } if(win.pnl1a.g29.et2.text == ''){ alert("No height value has been entered"); return; } } if(win.pnl1a.g29a.cb0.value){//Custom Fit Image if(win.pnl1a.g29b.et1.text == ''){ alert("No width value has been entered"); return; } if(win.pnl1a.g29b.et2.text == ''){ alert("No height value has been entered"); return; } if(!win.pnl1a.g29c.cb0.value){ if(win.pnl1a.g29c.et1.text == ''){ alert("No resolution has been entered"); return; } if(Number(win.pnl1a.g29c.et1.text) < 1){ alert("Invalid resolution entered"); return; } } } win.pnl1a.visible=false; win.p1.visible=true; } win.g29.cb0.onClick = function(){ if(win.g29.cb0.value) { win.g29.bu1.visible=true; win.p1.visible=false; win.pnl1a.visible=true; }else{ win.g29.bu1.visible=false; } } win.g29.bu1.onClick = function(){ win.p1.visible=false; win.pnl1a.visible=true; } ////////////////////////////////////////// win.g30 =win.p1.add('group'); win.g30.spacing=10; win.g30.orientation = 'row'; win.g30.alignment="left"; win.g30.cb1 = win.g30.add('checkbox',undefined,'Run Action 1'); win.g30.dd1 = win.g30.add('dropdownlist'); win.g30.dd1.preferredSize=[150,20]; win.g30.dd2 = win.g30.add('dropdownlist'); win.g30.dd2.preferredSize=[150,20]; win.g30.dd1.enabled=false; win.g30.dd2.enabled=false; win.g30.cb1.onClick = function(){ if(win.g40.cb1.value){ win.g30.cb1.value=true; return; } if(win.g30.cb1.value){ win.g30.dd1.enabled=true; win.g30.dd2.enabled=true; win.g38.cb1.enabled=true; }else{ win.g30.dd1.enabled=false; win.g30.dd2.enabled=false; win.g38.cb1.value=false; win.g38.cb1.enabled=false; } } win.g35 =win.p1.add('group'); win.g35.spacing=10; win.g35.orientation = 'row'; win.g35.alignment="left"; win.g35.cb1 = win.g35.add('checkbox',undefined,'Run Action 2'); win.g35.dd1 = win.g35.add('dropdownlist'); win.g35.dd1.preferredSize=[150,20]; win.g35.dd2 = win.g35.add('dropdownlist'); win.g35.dd2.preferredSize=[150,20]; win.g35.dd1.enabled=false; win.g35.dd2.enabled=false; win.g35.cb1.onClick = function(){ if(win.g40.cb1.value){ win.g35.cb1.value=true; return; } if(win.g35.cb1.value){ win.g35.dd1.enabled=true; win.g35.dd2.enabled=true; }else{ win.g35.dd1.enabled=false; win.g35.dd2.enabled=false; win.g40.cb1.value=false; } } ///////////////////////////////////////////////////// actionArray =[]; win.g38 =win.p1.add('group'); win.g38.spacing=10; win.g38.orientation = 'row'; win.g38.alignment="left"; win.g38.cb1 = win.g38.add('checkbox',undefined,'Stack Actions'); win.g38.cb1.enabled=false; win.g38.et1 = win.g38.add('edittext',undefined,'0'); win.g38.et1.preferredSize=[50,20]; win.g38.et1.enabled=false; win.g38.et1.enabled=false; win.g38.bu1 = win.g38.add('button',undefined,'Add Action'); win.g38.bu2 = win.g38.add('button',undefined,'Remove Action'); win.g38.cb1.onClick = function(){ if(win.g38.cb1.value){ win.g38.bu1.enabled=true; win.g38.bu2.enabled=true; win.g40.cb0.enabled=false; win.g40.cb0.value=false; win.g35.cb1.enabled=false; win.g35.dd1.enabled=false; win.g35.dd2.enabled=false; }else{ win.g38.bu1.enabled=false; win.g38.bu2.enabled=false; win.g40.cb0.enabled=true; win.g35.cb1.enabled=true; win.g35.dd1.enabled=true; win.g35.dd2.enabled=true; } win.g40.cb0.onClick(); } win.g38.bu1.onClick = function() { if(win.g38.cb1.value){ actionArray.push([[win.g30.dd2.selection.text],[win.g30.dd1.selection.text]]); win.g38.et1.text = actionArray.length; } } win.g38.bu2.onClick = function() { if(win.g38.cb1.value){ actionArray.pop(); win.g38.et1.text = actionArray.length; } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// win.g40 =win.p1.add('group'); win.g40.spacing=2; win.g40.orientation = 'row'; win.g40.alignment="left"; win.g40.cb0 = win.g40.add('checkbox',undefined,'Action1 Landscape/Action2 Portrait'); win.g40.cb1 = win.g40.add('checkbox',undefined,'Add Logo/Text'); win.g40.bu1 = win.g40.add('button',undefined,'Setup'); win.g40.bu1.visible=false; win.g40.cb0.onClick = function(){ if(win.g40.cb0.value){ win.g30.cb1.value=true; win.g30.cb1.onClick(); win.g35.cb1.value=true; win.g35.cb1.onClick(); }else{ win.g30.cb1.onClick(); win.g35.cb1.value=false; win.g35.cb1.onClick(); } } win.g50 =win.p1.add('group'); win.g50.spacing=10; win.g50.orientation = 'row'; win.g50.alignment="left"; win.g50.st1 = win.g50.add('statictext',undefined,"FileName Options"); var options = ["Document Name","Document Name with Prefix","Document Name with Suffix","Document Name with Sequence Number","New Name with Sequence Number"]; win.g50.dd1 = win.g50.add('dropdownlist',undefined,options); win.g50.dd1.selection=0; win.g55 =win.p1.add('group'); win.g55.spacing=10; win.g55.orientation = 'stack'; win.g55.alignment="left"; win.g55a =win.g55.add('group'); win.g55a.spacing=10; win.g55a.alignment="left"; win.g55a.st1 = win.g55a.add('statictext',undefined,"Prefix"); win.g55a.et1 = win.g55a.add('edittext',undefined,""); win.g55a.et1.preferredSize=[250,20]; win.g55a.visible=false; win.g55b =win.g55.add('group'); win.g55b.spacing=10; win.g55b.alignment="left"; win.g55b.st1 = win.g55b.add('statictext',undefined,"Suffix"); win.g55b.et1 = win.g55b.add('edittext',undefined,""); win.g55b.et1.preferredSize=[250,20]; win.g55b.visible=false; var numbers =[2,3,4,5,6,7,8,9,10]; win.g55c =win.g55.add('group'); win.g55c.spacing=10; win.g55c.alignment="left"; win.g55c.st1 = win.g55c.add('statictext',undefined,"Sequence Number"); win.g55c.et1 = win.g55c.add('edittext',undefined,""); win.g55c.et1.preferredSize=[50,20]; win.g55c.st2 =win.g55c.add('statictext',undefined,'Len.'); win.g55c.dd1 =win.g55c.add('dropdownlist',undefined,numbers); win.g55c.dd1.selection=2; win.g55c.visible=false; win.g55c.et1.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } } win.g55d =win.g55.add('group'); win.g55d.spacing=10; win.g55d.st1 = win.g55d.add('statictext',undefined,"FileName"); win.g55d.et1 = win.g55d.add('edittext',undefined,""); win.g55d.et1.preferredSize=[200,20]; win.g55d.et2 = win.g55d.add('edittext',undefined,""); win.g55d.et2.preferredSize=[50,20]; win.g55d.st2 =win.g55d.add('statictext',undefined,'len.'); win.g55d.dd1 =win.g55d.add('dropdownlist',undefined,numbers); win.g55d.dd1.selection=2; win.g55d.visible=false; win.g55d.et2.onChanging = function() { if (this.text.match(/[^\-\.\d]/)) { this.text = this.text.replace(/[^\-\.\d]/g, ''); } } win.g57 =win.p1.add('group'); win.g57.st1 = win.g57.add('statictext',undefined,"Save Options :-"); var z = win.g57.st1.graphics; z.font = ScriptUI.newFont("Georgia","BOLDITALIC",18); win.g60 =win.p1.add('group'); win.g60.spacing=1; win.g60.orientation = 'row'; win.g60.alignment="left"; win.g60.cb1 = win.g60.add('checkbox',undefined,"TIF"); var tiffOptions=["LZW","ZIP","JPG","None"]; win.g60.dd1 = win.g60.add('dropdownlist',undefined,tiffOptions); win.g60.dd1.selection=0; win.g60.cb2 = win.g60.add('checkbox',undefined,"PSD"); if(Prefs.TIFcomp != undefined) win.g60.dd1.selection = Prefs.TIFcomp; win.g60.dd1.enabled=false; win.g60.cb1.onClick = function(){ if(win.g60.cb1.value){ win.g60.dd1.enabled=true; }else{ win.g60.dd1.enabled=false; } } win.g60.cb3 = win.g60.add('checkbox',undefined,"PNG"); win.g60.cb3.helpTip="Save For Web PNG 24bit"; win.g60.dd2 = win.g60.add('dropdownlist') for(var a = 0;a<101;a++){ win.g60.dd2.add("item",a); } win.g60.dd2.selection=80; win.g60.dd2.enabled=false; win.g60.cb3.onClick = function(){ if(win.g60.cb3.value){ win.g60.dd2.enabled=true; }else{ win.g60.dd2.enabled=false; } } var jpgQuality=[1,2,3,4,5,6,7,8,9,10,11,12]; win.g60.cb4 = win.g60.add('checkbox',undefined,"JPG"); win.g60.dd3 = win.g60.add('dropdownlist',undefined,jpgQuality); win.g60.dd3.selection=7; if(Prefs.JPGqual != undefined) win.g60.dd3.selection = Prefs.JPGqual; win.g60.dd3.enabled=false; win.g60.cb4.onClick = function(){ if(win.g60.cb4.value){ win.g60.dd3.enabled=true; win.g70.cb1.value=false; win.g70.dd1.enabled=false; win.g70.dd2.enabled=false; win.g70a.cb1.enabled=false; win.g70a.cb2.enabled=false; win.g70a.cb3.enabled=false; }else{ win.g60.dd3.enabled=false; } } win.g60.cb5 = win.g60.add('checkbox',undefined,"GIF"); win.g60.cb5.helpTip="Save Fow Web 256 Colours"; win.p3= win.p1.add("panel", undefined, undefined, {borderStyle:"etched"}); win.g70 =win.p3.add('group'); win.g70.spacing=10; win.g70.orientation = 'row'; win.g70.alignment="left"; win.g70.cb1 = win.g70.add('checkbox',undefined,"Save For Web"); win.g70.dd1 = win.g70.add('dropdownlist'); for(var a = 1;a<101;a++){ win.g70.dd1.add('item', a); } win.g70.dd1.selection=79; if(Prefs.SFWqual != undefined) win.g70.dd1.selection = Prefs.SFWqual; win.g70.dd2 = win.g70.add('dropdownlist'); var MetaList = [['No Metadata','MDNn'], ['All Metadata','MDAl'], ['Copyright','MDCp' ], ['Copyright and Contact Info','MDCC'], ['All Except Camera Info','MDAx']]; for (var i in MetaList) { win.g70.dd2.add('item',MetaList[i][0]); } win.g70.dd2.selection=0; if(Prefs.Metadata != undefined) win.g70.dd2.selection = Prefs.Metadata; win.g70.dd2.enabled=false; win.g70.dd1.enabled=false; win.g70.cb1.onClick = function(){ if(win.g70.cb1.value){ win.g70.dd1.enabled=true; win.g70.dd2.enabled=true; win.g60.cb4.value=false; win.g60.dd2.enabled=false; win.g70a.cb1.enabled=true; win.g70a.cb2.enabled=true; win.g70a.cb3.enabled=true; }else{ win.g70.dd1.enabled=false; win.g70.dd2.enabled=false; win.g70a.cb1.enabled=false; win.g70a.cb2.enabled=false; win.g70a.cb3.enabled=false; } } win.g70a =win.p3.add('group'); win.g70a.spacing=10; win.g70a.orientation = 'row'; win.g70a.alignment="left"; win.g70a.cb1 = win.g70a.add('checkbox',undefined,"Embed Profile"); win.g70a.cb2 = win.g70a.add('checkbox',undefined,"sRGB"); win.g70a.cb3 = win.g70a.add('checkbox',undefined,"Progressive"); win.g70a.cb2.value=true; if(Prefs.sRgb != undefined) win.g70a.cb2.value = Prefs.sRgb; if(Prefs.Embed != undefined) win.g70a.cb1.value = Prefs.Embed; if(Prefs.Progressive != undefined) win.g70a.cb3.value = Prefs.Progressive; win.g70a.cb1.enabled=false; win.g70a.cb2.enabled=false; win.g70a.cb3.enabled=false; win.g150 =win.p1.add('group'); win.g150.spacing=10; win.g150.orientation = 'row'; win.g150.alignment="top"; win.g150.bu1 = win.g150.add('button',undefined,"Process"); win.g150.bu1.preferredSize=[200,20]; win.g150.bu2 = win.g150.add('button',undefined,"Cancel"); win.g150.bu2.preferredSize=[200,20]; if (app.version.match(/\d+/) ==10){ win.g70.dd2.visible=false; win.g70a.cb2.visible=false; win.g70a.cb3.visible=false; } win.g50.dd1.onChange = function(){ switch(this.selection.index){ case 0 : hideFields();break; case 1 : hideFields(); win.g55a.visible=true; break; case 2 : hideFields(); win.g55b.visible=true; break; case 3 : hideFields(); win.g55c.visible=true; break; case 4 : hideFields(); win.g55d.visible=true; break; default : break; } } function hideFields(){ win.g55a.visible=false; win.g55a.et1.text=''; win.g55b.et1.text=''; win.g55b.visible=false; win.g55c.visible=false; win.g55c.et1.text='1'; win.g55d.visible=false; win.g55d.et1.text=''; win.g55d.et2.text='1'; } var actionSets = new Array(); actionSets = getActionSets(); for (var i=0,len=actionSets.length;i doc.height){ if(parseInt(win.pnl1a.g29.et1.text) doc.height){ if(parseInt(win.pnl1a.g29.et1.text) doc.height){ resHeight = undefined; }else{ resWidth = undefined; } } if(!win.pnl1a.g29a.cb1.value){ if(doc.height > doc.width){ resHeight = new UnitValue(Number(win.pnl1a.g29b.et1.text),resUnits); resWidth = new UnitValue(Number(win.pnl1a.g29b.et2.text),resUnits); } } if(win.pnl1a.g29c.cb0.value){ resizeRes = undefined; }else{ resizeRes = Math.round(Number(win.pnl1a.g29c.et1.text)); } resizeMethods = win.pnl1a.g29b.dd2.selection.text.toString().toUpperCase(); activeDocument.resizeImage (resWidth, resHeight, resizeRes, eval("ResampleMethod."+resizeMethods)); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Action section if(!win.g40.cb0.value){ if(win.g30.cb1.value && !win.g38.cb1.value) doAction(win.g30.dd2.selection.text, win.g30.dd1.selection.text); if(win.g30.cb1.value && win.g38.cb1.value && actionArray.length >0) { for(var a =0;adoc.height) doAction(win.g30.dd2.selection.text, win.g30.dd1.selection.text); if(win.g35.cb1.value && doc.width doc.height){ if(parseInt(win.pnl1a.g29.et1.text) doc.height){ if(parseInt(win.pnl1a.g29.et1.text) doc.height){ resHeight = undefined; }else{ resWidth = undefined; } } if(!win.pnl1a.g29a.cb1.value){ if(doc.height > doc.width){ resHeight = new UnitValue(Number(win.pnl1a.g29b.et1.text),resUnits); resWidth = new UnitValue(Number(win.pnl1a.g29b.et2.text),resUnits); } } if(win.pnl1a.g29c.cb0.value){ resizeRes = undefined; }else{ resizeRes = Math.round(Number(win.pnl1a.g29c.et1.text)); } resizeMethods = win.pnl1a.g29b.dd2.selection.text.toString().toUpperCase(); activeDocument.resizeImage (resWidth, resHeight, resizeRes, eval("ResampleMethod."+resizeMethods)); } }/////////////////////////////////////////////////////////////////// if(win.g40.cb1.value){ var useLogo = pnl2.grp5.rb1.value; var Percent = Number(pnl2.grp5.dd2.selection.index) + 1; var Position = Number(pnl2.grp5a.dd1.selection.index) + 1; var OffsetX = Number(pnl2.grp6.dd1.selection.index); var OffsetY = Number(pnl2.grp6.dd2.selection.index); var Emboss = pnl2.grp19.cb2.value; var Colour = new SolidColor; Colour.rgb.hexValue= pnl2.grp20.et1.text; var Font = app.fonts[Number(pnl2.grp18.dd1.selection.index)].postScriptName; var myDoc = activeDocument; var docWidth = myDoc.width.value; var docHeight = myDoc.height.value; var Name = decodeURI(activeDocument.name).replace(/\.[^\.]+$/, '');//.toUpperCase(); var TextInfo =''; if(pnl2.grp19.cb1.value) TextInfo += Name; if(pnl2.grp19a.cb1.value) TextInfo += " "+Seq3; if(pnl2.grp15.et1.text != '') TextInfo += ' ' + pnl2.grp15.et1.text; if(pnl2.grp30.cb1.value){ activeDocument.info.copyrighted=CopyrightedType.COPYRIGHTEDWORK; activeDocument.info.copyrightNotice = pnl2.grp30.et1.text; } if(pnl2.grp25.cb1.value){ switch(Number(pnl2.grp25.dd1.selection.index)){ case 0 : if(activeDocument.info.title != ''){ TextInfo += ' ' + activeDocument.info.title; break; }else{ TextInfo +=' ' + Name; break; } case 1 : if(activeDocument.info.caption != ''){ TextInfo += ' ' + activeDocument.info.caption; break; }else{ TextInfo +=' ' + Name; break; } case 2 : if(activeDocument.info.headline != ''){ TextInfo += ' ' + activeDocument.info.headline; break; }else{ TextInfo +=' ' + Name; break; } case 3 : var CpyInfo = getCopyRightNotice(); if(CpyInfo !=''){ TextInfo += ' ' + CpyInfo; break; }else{ TextInfo +=' ' + Name; break; } default : break; } } if(!useLogo){ var newTextLayer = activeDocument.artLayers.add(); newTextLayer.kind = LayerKind.TEXT; newTextLayer.textItem.kind = TextType.POINTTEXT; newTextLayer.textItem.color = Colour; newTextLayer.textItem.font = Font; newTextLayer.textItem.size = 10; newTextLayer.textItem.contents = TextInfo; }else{ placeLogo(logoFile); activeDocument.activeLayer.rasterize(RasterizeType.ENTIRELAYER ); } var LB = myDoc.activeLayer.bounds; var LHeight = Math.abs(LB[3].value) - Math.abs(LB[1].value); var LWidth = Math.abs(LB[2].value) - Math.abs(LB[0].value); var percentageHeight = ((docHeight/LWidth)*Percent); var percentageWidth = ((docWidth/LWidth)*Percent); if(docWidth < docHeight){ myDoc.activeLayer.resize(percentageWidth,percentageWidth,AnchorPosition.MIDDLECENTER); }else{ myDoc.activeLayer.resize(percentageHeight,percentageHeight,AnchorPosition.MIDDLECENTER); } if(!useLogo){ activeDocument.activeLayer.rasterize( RasterizeType.TEXTCONTENTS); var strokeWth= pnl2.grp19.dd3.selection.index+1; if(!Emboss){ if(pnl2.grp19.cb3.value)StrokeText(pnl2.grp19.dd2.selection.text,strokeWth); } if(Emboss) emboss(Number(pnl2.grp19.dd1.selection.index),pnl2.grp19.cb3.value,pnl2.grp19.dd2.selection.text,strokeWth); } switch (Position){ case 1 : align('AdLf'); align('AdTp');activeDocument.activeLayer.translate(OffsetX,OffsetY); break; case 2 : align('AdCH'); align('AdTp');activeDocument.activeLayer.translate(OffsetX,OffsetY); break; case 3 : align( 'AdRg'); align('AdTp');activeDocument.activeLayer.translate(-OffsetX,OffsetY); break; case 4 : align('AdLf'); align('AdCV'); activeDocument.activeLayer.translate(OffsetX,0);break; case 5 : align('AdCH'); align('AdCV'); if(pnl2.grp5a.cb1.value) activeDocument.activeLayer.rotate(-45); break; case 6 : align('AdRg'); align('AdCV');activeDocument.activeLayer.translate(-OffsetX,0); break; case 7 : align('AdLf'); align('AdBt');activeDocument.activeLayer.translate(OffsetX,-OffsetY);break; case 8 : align('AdCH'); align('AdBt');activeDocument.activeLayer.translate(OffsetX,-OffsetY); break; case 9 : align('AdRg'); align('AdBt');activeDocument.activeLayer.translate(-OffsetX,-OffsetY); break; default : break; } if(pnl2.grp22.cb1.value){ var LB = activeDocument.activeLayer.bounds; var OPACITY= Number(pnl2.grp22.dd1.selection.index)+1; if(OPACITY >100) Op=100; var ColourBar = new SolidColor; ColourBar.rgb.hexValue = pnl2.grp22.et1.text; var end = activeDocument.width; var logoLayer= activeDocument.activeLayer; activeDocument.selection.select([[0,LB[1]], [end,LB[1]], [end,LB[3]], [0, LB[3]]], SelectionType.REPLACE, 0, false); var CbLayer = activeDocument.artLayers.add(); activeDocument.selection.fill(ColourBar, ColorBlendMode.NORMAL, OPACITY, false ); activeDocument.selection.deselect(); logoLayer.move(activeDocument.activeLayer, ElementPlacement.PLACEBEFORE); } if(win.g27.cb1.value) doc.flatten(); } switch(Number(win.g50.dd1.selection.index)){ case 0 : saveFile = saveFileFolder + Name; break; case 1 : saveFile = saveFileFolder + Prefix + Name; break; case 2 : saveFile = saveFileFolder + Name + Suffix; break; case 3 : saveFile = saveFileFolder + Name + Seq1; break; case 4 : saveFile = saveFileFolder + NewName + Seq2; break; default : break; } if(win.g60.cb1.value){ if(doc.mode == DocumentMode.DUOTONE) doc.changeMode(ChangeMode.GRAYSCALE); SaveTIFF(saveFile,Number(win.g60.dd1.selection.index)); } if(win.g60.cb2.value) SavePSD(saveFile); activeDocument.pathItems.removeAll(); if(win.g60.cb3.value){ if(doc.mode == DocumentMode.DUOTONE) doc.changeMode(ChangeMode.GRAYSCALE); saveAsPNG24SFW(saveFile); } if(win.g60.cb4.value) { if(doc.mode == DocumentMode.DUOTONE) doc.changeMode(ChangeMode.GRAYSCALE); if(saveFile.exists) saveFile.remove(); SaveJPEG(saveFile, (Number(win.g60.dd3.selection.index)+1)); } if (app.version.match(/\d+/) == 10 && win.g70.cb1.value){ if(doc.mode == DocumentMode.DUOTONE) doc.changeMode(ChangeMode.GRAYSCALE); saveFile = File(saveFile+".jpg"); var tmpFile = File(saveFile.path+"/qwertyuiop.jpg"); if(tmpFile.exists) tmpFile.remove(); SaveForWebCS3(tmpFile,(Number(win.g70.dd1.selection.index)+1),win.g70a.cb1.value); if(saveFile.exists) saveFile.remove(); tmpFile.rename(decodeURI(saveFile.name)); } if (app.version.match(/\d+/) > 10 && win.g70.cb1.value){ var Quality = Number(win.g70.dd1.selection.index)+1; var Profile =''; if(win.g70a.cb2.value ? Profile = 'CHsR' : Profile = 'CHDc' ); var MetaData = MetaList[Number(win.g70.dd2.selection.index)][1]; var Progressive = 1; if(win.g70a.cb3.value) Progressive = 3; var Embed = win.g70a.cb1.value; if(doc.mode == DocumentMode.DUOTONE) doc.changeMode(ChangeMode.GRAYSCALE); saveFile = File(saveFile+".jpg"); var tmpFile = File(saveFile.path+"/qwertyuiop.jpg"); if(tmpFile.exists) tmpFile.remove(); CS4orCS5SFW(tmpFile,Quality,MetaData,Profile,Progressive,Embed); if(saveFile.exists) saveFile.remove(); tmpFile.rename(decodeURI(saveFile.name)); } if(win.g60.cb5.value){ saveFile = File(saveFile+".gif"); var tmpFile = File(saveFile.path+"/qwertyuiop.gif"); GifSFW(tmpFile); tmpFile.rename(decodeURI(saveFile.name)); } app.activeDocument.close(SaveOptions.DONOTSAVECHANGES); } app.preferences.rulerUnits = strtRulerUnits; app.preferences.typeUnits = strtTypeUnits; } function allDone(){ var bridgeError = new Window( 'dialog', 'Phew!' ); bridgeError.alignChildren="column"; b = bridgeError.graphics; var myBrushb = b.newBrush(b.BrushType.SOLID_COLOR, [1.00, 1.00, 1.00, 1]); b.backgroundColor = myBrushb; bridgeError.title = bridgeError.add('statictext',undefined,'Process Completed'); bridgeError.title.alignment="bottom"; var g = bridgeError.title.graphics; g.font = ScriptUI.newFont("Georgia","BOLDITALIC",30); bridgeError.add('button',undefined,'Ok'); bridgeError.center(); bridgeError.show(); } function getActionSets() { cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; var i = 1; var sets = []; while (true) { var ref = new ActionReference(); ref.putIndex(cTID("ASet"), i); var desc; var lvl = $.level; $.level = 0; try { desc = executeActionGet(ref); } catch (e) { break; } finally { $.level = lvl; } if (desc.hasKey(cTID("Nm "))) { var set = {}; set.index = i; set.name = desc.getString(cTID("Nm ")); set.toString = function() { return this.name; }; set.count = desc.getInteger(cTID("NmbC")); set.actions = []; for (var j = 1; j <= set.count; j++) { var ref = new ActionReference(); ref.putIndex(cTID('Actn'), j); ref.putIndex(cTID('ASet'), set.index); var adesc = executeActionGet(ref); var actName = adesc.getString(cTID('Nm ')); set.actions.push(actName); } sets.push(set); } i++; } return sets; }; function getActions(aset) { cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; var i = 1; var names = []; if (!aset) { throw "Action set must be specified"; } while (true) { var ref = new ActionReference(); ref.putIndex(cTID("ASet"), i); var desc; try { desc = executeActionGet(ref); } catch (e) { break; } if (desc.hasKey(cTID("Nm "))) { var name = desc.getString(cTID("Nm ")); if (name == aset) { var count = desc.getInteger(cTID("NmbC")); var names = []; for (var j = 1; j <= count; j++) { var ref = new ActionReference(); ref.putIndex(cTID('Actn'), j); ref.putIndex(cTID('ASet'), i); var adesc = executeActionGet(ref); var actName = adesc.getString(cTID('Nm ')); names.push(actName); } break; } } i++; } return names; }; function GetFilesFromBridge() { function script(){ var fL = app.document.selections; var tF=[]; for(var a in fL){ if(fL[a].type =='file'){ tF.push(new File(encodeURI(fL[a].spec.fsName))); } } return tF.toSource(); } var fileList; var bt = new BridgeTalk(); bt.target = "bridge"; bt.body = "var ftn = " + script.toSource() + "; ftn();"; bt.onResult = function( inBT ) { fileList = eval( inBT.body ); } bt.onError = function( inBT ) { fileList = new Array(); } bt.send(8); bt.pump(); if ( undefined == fileList ) fileList = new Array(); return fileList; } function sortAlphaNum(a, b) { var x = a.split("/"); var y = b.split("/"); x = x[x.length-1].replace(/\\\s/g," ").split(/(\d+)/); y = y[y.length-1].replace(/\\\s/g," ").split(/(\d+)/); for (var i in x) { if (x[i] && !y[i] || isFinite(x[i]) && !isFinite(y[i])) { return -1; } else if (!x[i] && y[i] || !isFinite(y[i]) && isFinite(y[i])) { return 1; } else if (!isFinite(x[i]) && !isFinite(y[i])) { x[i] = x[i].toLowerCase(); y[i] = y[i].toLowerCase(); if (x[i] < y[i]) return -1; if (x[i] > y[i]) return 1; } else { x[i] = parseFloat(x[i]); y[i] = parseFloat(y[i]); if (x[i] < y[i]) return -1; if (x[i] > y[i]) return 1; } } return 0; } function FitImage( inWidth, inHeight ) { var desc = new ActionDescriptor(); var unitPixels = charIDToTypeID( '#Pxl' ); desc.putUnitDouble( charIDToTypeID( 'Wdth' ), unitPixels, inWidth ); desc.putUnitDouble( charIDToTypeID( 'Hght' ), unitPixels, inHeight ); var runtimeEventID = stringIDToTypeID( "3caa3434-cb67-11d1-bc43-0060b0a13dc4" ); executeAction( runtimeEventID, desc, DialogModes.NO ); }; function zeroPad(n, s) { n = n.toString(); while (n.length < s) n = '0' + n; return n; }; function SavePSD(saveFile){ psdSaveOptions = new PhotoshopSaveOptions(); psdSaveOptions.embedColorProfile = true; psdSaveOptions.alphaChannels = true; activeDocument.saveAs(File(saveFile+".psd"), psdSaveOptions, true, Extension.LOWERCASE); } function SaveTIFF(saveFile,Comp){ tiffSaveOptions = new TiffSaveOptions(); tiffSaveOptions.embedColorProfile = true; tiffSaveOptions.transparency=true; tiffSaveOptions.interleaveChannels=true; tiffSaveOptions.alphaChannels = false; switch (Number(Comp)){ case 0 : tiffSaveOptions.imageCompression = TIFFEncoding.TIFFLZW; break; case 1 : tiffSaveOptions.imageCompression = TIFFEncoding.TIFFZIP; break; case 2 : tiffSaveOptions.imageCompression = TIFFEncoding.JPEG; break; case 3 : tiffSaveOptions.imageCompression = TIFFEncoding.NONE; break; default : break; } activeDocument.saveAs(File(saveFile+".tif"), tiffSaveOptions, true, Extension.LOWERCASE); } function SaveJPEG(saveFile, jpegQuality){ var doc = activeDocument; RemoveAlphaChannels(); if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT; jpgSaveOptions = new JPEGSaveOptions(); jpgSaveOptions.embedColorProfile = true; jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; jpgSaveOptions.matte = MatteType.NONE; jpgSaveOptions.quality = jpegQuality; activeDocument.saveAs(File(saveFile+".jpg"), jpgSaveOptions, true,Extension.LOWERCASE); } function SaveForWebCS3(saveFile,jpegQuality,Profile) { var doc = activeDocument; RemoveAlphaChannels(); if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT; if(Profile == undefined) Profile = false; var sfwOptions = new ExportOptionsSaveForWeb(); sfwOptions.format = SaveDocumentType.JPEG; sfwOptions.includeProfile = Profile; sfwOptions.interlaced = 0; sfwOptions.optimized = true; sfwOptions.quality = jpegQuality; activeDocument.exportDocument(File(saveFile), ExportType.SAVEFORWEB, sfwOptions); } function saveAsPNG24SFW(saveFile) { var doc = activeDocument; if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT; var desc3 = new ActionDescriptor(); var desc4 = new ActionDescriptor(); desc4.putEnumerated( charIDToTypeID('Op '), charIDToTypeID('SWOp'), charIDToTypeID('OpSa') ); desc4.putEnumerated( charIDToTypeID('Fmt '), charIDToTypeID('IRFm'), charIDToTypeID('PN24') ); desc4.putBoolean( charIDToTypeID('Intr'), false ); desc4.putBoolean( charIDToTypeID('Trns'), true ); desc4.putBoolean( charIDToTypeID('Mtt '), false ); desc4.putInteger( charIDToTypeID('MttR'), 255 ); desc4.putInteger( charIDToTypeID('MttG'), 255 ); desc4.putInteger( charIDToTypeID('MttB'), 255 ); desc4.putBoolean( charIDToTypeID('SHTM'), false ); desc4.putBoolean( charIDToTypeID('SImg'), true ); desc4.putBoolean( charIDToTypeID('SSSO'), false ); var list1 = new ActionList(); desc4.putList( charIDToTypeID('SSLt'), list1 ); desc4.putBoolean( charIDToTypeID('DIDr'), false ); desc4.putPath( charIDToTypeID('In '), new File( saveFile+".png" ) ); desc3.putObject( charIDToTypeID('Usng'), stringIDToTypeID('SaveForWeb'), desc4 ); executeAction( charIDToTypeID('Expr'), desc3, DialogModes.NO ); }; function GifSFW(saveFile) { var doc = activeDocument; RemoveAlphaChannels(); if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT; var desc21 = new ActionDescriptor(); var desc22 = new ActionDescriptor(); desc22.putEnumerated( charIDToTypeID('Op '), charIDToTypeID('SWOp'), charIDToTypeID('OpSa') ); desc22.putBoolean( charIDToTypeID('DIDr'), false ); desc22.putPath( charIDToTypeID('In '), new File( saveFile ) ); desc22.putEnumerated( charIDToTypeID('Fmt '), charIDToTypeID('IRFm'), charIDToTypeID('GIFf') ); desc22.putBoolean( charIDToTypeID('Intr'), true ); desc22.putEnumerated( charIDToTypeID('RedA'), charIDToTypeID('IRRd'), charIDToTypeID('Sltv') ); desc22.putBoolean( charIDToTypeID('RChT'), false ); desc22.putBoolean( charIDToTypeID('RChV'), false ); desc22.putBoolean( charIDToTypeID('AuRd'), false ); desc22.putInteger( charIDToTypeID('NCol'), 256 );//number of colours desc22.putEnumerated( charIDToTypeID('Dthr'), charIDToTypeID('IRDt'), charIDToTypeID('Dfsn') ); desc22.putInteger( charIDToTypeID('DthA'), 100 ); desc22.putInteger( charIDToTypeID('DChS'), 0 ); desc22.putInteger( charIDToTypeID('DCUI'), 0 ); desc22.putBoolean( charIDToTypeID('DChT'), false ); desc22.putBoolean( charIDToTypeID('DChV'), false ); desc22.putInteger( charIDToTypeID('WebS'), 0 ); desc22.putEnumerated( charIDToTypeID('TDth'), charIDToTypeID('IRDt'), charIDToTypeID('None') ); desc22.putInteger( charIDToTypeID('TDtA'), 100 ); desc22.putInteger( charIDToTypeID('Loss'), 60 );//amount of loss desc22.putInteger( charIDToTypeID('LChS'), 0 ); desc22.putInteger( charIDToTypeID('LCUI'), 100 ); desc22.putBoolean( charIDToTypeID('LChT'), false ); desc22.putBoolean( charIDToTypeID('LChV'), false ); desc22.putBoolean( charIDToTypeID('Trns'), true ); desc22.putBoolean( charIDToTypeID('Mtt '), false ); desc22.putInteger( charIDToTypeID('MttR'), 255 ); desc22.putInteger( charIDToTypeID('MttG'), 255 ); desc22.putInteger( charIDToTypeID('MttB'), 255 ); desc22.putBoolean( charIDToTypeID('SHTM'), false ); desc22.putBoolean( charIDToTypeID('SImg'), true ); desc22.putEnumerated( charIDToTypeID('SWsl'), charIDToTypeID('STsl'), charIDToTypeID('SLAl') ); desc22.putEnumerated( charIDToTypeID('SWch'), charIDToTypeID('STch'), charIDToTypeID('CHsR') ); desc22.putEnumerated( charIDToTypeID('SWmd'), charIDToTypeID('STmd'), charIDToTypeID('MDNn') ); desc22.putBoolean( charIDToTypeID('ohXH'), false ); desc22.putBoolean( charIDToTypeID('ohIC'), true ); desc22.putBoolean( charIDToTypeID('ohAA'), true ); desc22.putBoolean( charIDToTypeID('ohQA'), true ); desc22.putBoolean( charIDToTypeID('ohCA'), false ); desc22.putBoolean( charIDToTypeID('ohIZ'), true ); desc22.putEnumerated( charIDToTypeID('ohTC'), charIDToTypeID('SToc'), charIDToTypeID('OC03') ); desc22.putEnumerated( charIDToTypeID('ohAC'), charIDToTypeID('SToc'), charIDToTypeID('OC03') ); desc22.putInteger( charIDToTypeID('ohIn'), -1 ); desc22.putEnumerated( charIDToTypeID('ohLE'), charIDToTypeID('STle'), charIDToTypeID('LE03') ); desc22.putEnumerated( charIDToTypeID('ohEn'), charIDToTypeID('STen'), charIDToTypeID('EN00') ); desc22.putBoolean( charIDToTypeID('olCS'), false ); desc22.putEnumerated( charIDToTypeID('olEC'), charIDToTypeID('STst'), charIDToTypeID('ST00') ); desc22.putEnumerated( charIDToTypeID('olWH'), charIDToTypeID('STwh'), charIDToTypeID('WH01') ); desc22.putEnumerated( charIDToTypeID('olSV'), charIDToTypeID('STsp'), charIDToTypeID('SP04') ); desc22.putEnumerated( charIDToTypeID('olSH'), charIDToTypeID('STsp'), charIDToTypeID('SP04') ); var list3 = new ActionList(); var desc23 = new ActionDescriptor(); desc23.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC00') ); list3.putObject( charIDToTypeID('SCnc'), desc23 ); var desc24 = new ActionDescriptor(); desc24.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC19') ); list3.putObject( charIDToTypeID('SCnc'), desc24 ); var desc25 = new ActionDescriptor(); desc25.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC28') ); list3.putObject( charIDToTypeID('SCnc'), desc25 ); var desc26 = new ActionDescriptor(); desc26.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list3.putObject( charIDToTypeID('SCnc'), desc26 ); var desc27 = new ActionDescriptor(); desc27.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list3.putObject( charIDToTypeID('SCnc'), desc27 ); var desc28 = new ActionDescriptor(); desc28.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list3.putObject( charIDToTypeID('SCnc'), desc28 ); desc22.putList( charIDToTypeID('olNC'), list3 ); desc22.putBoolean( charIDToTypeID('obIA'), false ); desc22.putString( charIDToTypeID('obIP'), "" ); desc22.putEnumerated( charIDToTypeID('obCS'), charIDToTypeID('STcs'), charIDToTypeID('CS01') ); var list4 = new ActionList(); var desc29 = new ActionDescriptor(); desc29.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC01') ); list4.putObject( charIDToTypeID('SCnc'), desc29 ); var desc30 = new ActionDescriptor(); desc30.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC20') ); list4.putObject( charIDToTypeID('SCnc'), desc30 ); var desc31 = new ActionDescriptor(); desc31.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC02') ); list4.putObject( charIDToTypeID('SCnc'), desc31 ); var desc32 = new ActionDescriptor(); desc32.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC19') ); list4.putObject( charIDToTypeID('SCnc'), desc32 ); var desc33 = new ActionDescriptor(); desc33.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC06') ); list4.putObject( charIDToTypeID('SCnc'), desc33 ); var desc34 = new ActionDescriptor(); desc34.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list4.putObject( charIDToTypeID('SCnc'), desc34 ); var desc35 = new ActionDescriptor(); desc35.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list4.putObject( charIDToTypeID('SCnc'), desc35 ); var desc36 = new ActionDescriptor(); desc36.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC24') ); list4.putObject( charIDToTypeID('SCnc'), desc36 ); var desc37 = new ActionDescriptor(); desc37.putEnumerated( charIDToTypeID('ncTp'), charIDToTypeID('STnc'), charIDToTypeID('NC22') ); list4.putObject( charIDToTypeID('SCnc'), desc37 ); desc22.putList( charIDToTypeID('ovNC'), list4 ); desc22.putBoolean( charIDToTypeID('ovCM'), false ); desc22.putBoolean( charIDToTypeID('ovCW'), true ); desc22.putBoolean( charIDToTypeID('ovCU'), true ); desc22.putBoolean( charIDToTypeID('ovSF'), true ); desc22.putBoolean( charIDToTypeID('ovCB'), true ); desc22.putString( charIDToTypeID('ovSN'), "images" ); desc21.putObject( charIDToTypeID('Usng'), stringIDToTypeID('SaveForWeb'), desc22 ); executeAction( charIDToTypeID('Expr'), desc21, DialogModes.NO ); }; function CS4orCS5SFW(FileName,Quality,MetaData,Profile,Progressive,Embed) { var doc = activeDocument; RemoveAlphaChannels(); if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT; var desc7 = new ActionDescriptor(); var desc8 = new ActionDescriptor(); desc8.putEnumerated( charIDToTypeID('Op '), charIDToTypeID('SWOp'), charIDToTypeID('OpSa') ); desc8.putEnumerated( charIDToTypeID('Fmt '), charIDToTypeID('IRFm'), charIDToTypeID('JPEG') ); desc8.putBoolean( charIDToTypeID('Intr'), false ); desc8.putInteger( charIDToTypeID('Qlty'), Quality ); desc8.putInteger( charIDToTypeID('QChS'), 0 ); desc8.putInteger( charIDToTypeID('QCUI'), 0 ); desc8.putBoolean( charIDToTypeID('QChT'), false ); desc8.putBoolean( charIDToTypeID('QChV'), false ); desc8.putBoolean( charIDToTypeID('Optm'), true ); desc8.putInteger( charIDToTypeID('Pass'), Progressive ); desc8.putDouble( charIDToTypeID('blur'), 0.000000 ); desc8.putBoolean( charIDToTypeID('EICC'), Embed ); desc8.putBoolean( charIDToTypeID('Mtt '), false ); desc8.putInteger( charIDToTypeID('MttR'), 255 ); desc8.putInteger( charIDToTypeID('MttG'), 255 ); desc8.putInteger( charIDToTypeID('MttB'), 255 ); desc8.putBoolean( charIDToTypeID('SHTM'), false ); desc8.putBoolean( charIDToTypeID('SImg'), true ); desc8.putEnumerated( charIDToTypeID('SWch'), charIDToTypeID('STch'), charIDToTypeID(Profile) ); desc8.putEnumerated( charIDToTypeID('SWmd'), charIDToTypeID('STmd'), charIDToTypeID(MetaData) ); desc8.putBoolean( charIDToTypeID('SSSO'), false ); var list2 = new ActionList(); desc8.putList( charIDToTypeID('SSLt'), list2 ); desc8.putBoolean( charIDToTypeID('DIDr'), false ); desc8.putPath( charIDToTypeID('In '), new File( FileName) ); desc7.putObject( charIDToTypeID('Usng'), stringIDToTypeID('SaveForWeb'), desc8 ); executeAction( charIDToTypeID('Expr'), desc7, DialogModes.NO ); }; function createRelativeFolder(newTopLevelFolder, existingFolder){ var PathBits = decodeURI(newTopLevelFolder).toString().split('/'); var TmpArray = decodeURI(existingFolder).toString().split('/'); for(var a = 2;a