Vous êtes sur la page 1sur 15

#target photoshop

app.bringToFront();

function main(){
var win = new Window( 'dialog', '' );
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,'PDF Processor II');
win.title.helpTip='Compliments of Paul Riggott';
win.title.alignment='fill';
var g = win.title.graphics;
g.font = ScriptUI.newFont('Georgia','BOLDITALIC',22);
win.g10 =win.p1.add('group');
win.g10.orientation = 'row';
win.g10.alignment='fill';
win.g10.spacing=4;
var openModes = ['CMYK Color','RGB Color','Grayscale', 'Lab Color'];
win.g10.st1 = win.g10.add('statictext',undefined,'Mode');
win.g10.st1.helpTip="Document Mode";
win.g10.dd1 = win.g10.add('dropdownlist',undefined,openModes);
win.g10.dd1.selection=1;
var BitOptions = [8,16];
win.g10.st2 = win.g10.add('statictext',undefined,'Bits');
win.g10.st2.helpTip="Bits/Channel";
win.g10.dd2 = win.g10.add('dropdownlist',undefined,BitOptions);
win.g10.dd2.selection=0;
win.g10.st3 = win.g10.add('statictext',undefined,'Res');
win.g10.st3.helpTip="Resolution";
win.g10.et1 = win.g10.add('edittext',undefined,'300');
win.g10.et1.preferredSize=[60,20];
win.g10.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
var Crops = ['Bounding Box','Media Box','Crop Box','Bleed Box','Trim Box','Art
Box'];
win.g10.st4 = win.g10.add('statictext',undefined,'CropTo');
win.g10.dd3 = win.g10.add('dropdownlist',undefined,Crops);
win.g10.dd3.selection=0;
win.g15 =win.p1.add('group');
win.g15.orientation = 'row';
win.g15.alignment='fill';
win.g15.cb1 = win.g15.add('checkbox',undefined,'Use Width/Height');
win.g15.st1 = win.g15.add('statictext',undefined,'Width');
win.g15.et1 = win.g15.add('edittext');
win.g15.et1.preferredSize=[60,20];
win.g15.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g15.st2 = win.g15.add('statictext',undefined,'Height');
win.g15.et2 = win.g15.add('edittext');
win.g15.et2.preferredSize=[60,20];
win.g15.et2.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g15.et1.enabled=false;
win.g15.et2.enabled=false;
win.g15.cb1.onClick=function(){
if(win.g15.cb1.value){
win.g15.et1.enabled=true;
win.g15.et2.enabled=true;
}else{
win.g15.et1.enabled=false;
win.g15.et1.text='';
win.g15.et2.enabled=false;
win.g15.et2.text='';
}
}
win.g20 =win.p1.add('group');
win.g20.orientation = 'row';
win.g20.alignment='fill';
win.g20.spacing=10;
var pageTypes = [ 'First page only','All pages','Range of pages'];
win.g20.st1 = win.g20.add('statictext',undefined,'Pages to process');
win.g20.dd1 = win.g20.add('dropdownlist',undefined,pageTypes);
win.g20.dd1.selection=0;
win.g20.st2 = win.g20.add('statictext',undefined,'From');
win.g20.et1 = win.g20.add('edittext',undefined,'1');
win.g20.et1.preferredSize=[60,20];
win.g20.st3 = win.g20.add('statictext',undefined,'To');
win.g20.et2 = win.g20.add('edittext');
win.g20.et2.preferredSize=[60,20];
win.g20.dd1.onChange=function(){
if(this.selection.index == 2){
win.g20.et1.enabled=true;
win.g20.et2.enabled=true;
win.g20.st2.visible=true;
win.g20.et1.visible=true;
win.g20.st3.visible=true;
win.g20.et2.visible=true;
}else{
win.g20.et1.enabled=false;
win.g20.et2.enabled=false;
win.g20.st2.visible=false;
win.g20.et1.visible=false;
win.g20.st3.visible=false;
win.g20.et2.visible=false;
}
};
win.g20.dd1.onChange();
win.g20.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g20.et2.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g25 =win.p1.add('group');
win.g25.orientation = 'row';
win.g25.alignment='fill';
win.g25.spacing=10;
win.g25.st1 = win.g25.add('statictext',undefined,'Please select');
win.g25.st1.preferredSize=[80,20];
var fileFolder = ['Single File','Folder','Folder and Sub-Folders'];
win.g25.dd1 = win.g25.add('dropdownlist',undefined,fileFolder);
win.g25.dd1.selection=0;
win.g30 =win.p1.add('group');
win.g30.orientation = 'row';
win.g30.alignment='fill';
win.g30.spacing=10;
win.g30.st1 = win.g30.add('statictext',undefined,'File/Folder');
win.g30.et1 = win.g30.add('edittext');
win.g30.st1.preferredSize=[80,20];
win.g30.et1.preferredSize=[250,20];
win.g30.et1.enabled=false;
win.g30.bu1 = win.g30.add('button',undefined,'Browse');
topLevelFolder='';
win.g30.bu1.onClick=function(){
if(win.g25.dd1.selection.index == 0){
topLevelFolder = File.openDialog('Please select PDF file.','PDF File:*.pdf');

}else{
topLevelFolder = Folder.selectDialog('Please select the source folder');
}
if(topLevelFolder !=null){
win.g30.et1.text = decodeURI(topLevelFolder.fsName);
}
}
win.g25.dd1.onChange=function(){
switch(this.selection.index){
case 0 : if(topLevelFolder instanceof Folder){topLevelFolder='';
win.g30.et1.text='';}; break;
case 1 : if(topLevelFolder instanceof File){topLevelFolder='';
win.g30.et1.text='';}; break;
case 2 : if(topLevelFolder instanceof File){topLevelFolder='';
win.g30.et1.text='';}; break;
default : break;
}
}
win.g35 =win.p1.add('group');
win.g35.orientation = 'row';
win.g35.alignment='fill';
win.g35.spacing=10;
win.g35.cb1 = win.g35.add('checkbox',undefined,'Save to original folder?');
win.g40 =win.p1.add('group');
win.g40.orientation = 'row';
win.g40.alignment='fill';
win.g40.spacing=10;
win.g40.st1 = win.g40.add('statictext',undefined,'Output folder');
win.g40.st1.preferredSize=[80,20];
win.g40.et1 = win.g40.add('edittext');
win.g40.et1.preferredSize=[250,20];
win.g40.et1.enabled=false;
win.g40.bu1 = win.g40.add('button',undefined,'Browse');
win.g35.cb1.onClick=function(){
if(win.g35.cb1.value){
win.g40.bu1.enabled=false;
}else{
win.g40.bu1.enabled=true;
}
}
win.g40.bu1.onClick=function(){
outputFolder = Folder.selectDialog('Please select the output folder');
if(outputFolder !=null){
win.g40.et1.text = decodeURI(outputFolder.fsName);
}
}
win.g45 =win.p1.add('group');
win.g45.orientation = 'row';
win.g45.alignment='fill';
win.g45.spacing=2;
win.g45.cb1 = win.g45.add('checkbox',undefined,'Resize to fit');
win.g45.cb1.preferredSize=[90,20];
win.g45.st1 = win.g45.add('statictext',undefined,'Width :');
win.g45.et1 = win.g45.add('edittext');
win.g45.et1.preferredSize=[50,20];
win.g45.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g45.st2 = win.g45.add('statictext',undefined,'px');
win.g45.st2.preferredSize=[20,20];
win.g45.st3 = win.g45.add('statictext',undefined,'Height :');
win.g45.et2 = win.g45.add('edittext');
win.g45.et2.preferredSize=[50,20];
win.g45.et2.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g45.st4 = win.g45.add('statictext',undefined,'px');
win.g45.st4.preferredSize=[20,20];
var beforeAfter = ["Before Action","After Action"];
win.g45.dd1 = win.g45.add('dropdownlist',undefined,beforeAfter);
win.g45.dd1.selection=0;
win.g45.cb1.onClick=function(){
if(win.g45.cb1.value){
win.g45.et1.enabled=true;
win.g45.et2.enabled=true;
win.g45.dd1.enabled=true;
}else{
win.g45.et1.enabled=false;
win.g45.et2.enabled=false;
win.g45.dd1.enabled=false;
}
}
win.g45.cb1.onClick();
win.g50 =win.p1.add('group');
win.g50.orientation = 'row';
win.g50.alignment='fill';
win.g50.spacing=10;
win.g50.cb1 = win.g50.add('checkbox',undefined,'Run action');
win.g50.dd1 = win.g50.add('dropdownlist');//actionSet
win.g50.dd2 = win.g50.add('dropdownlist');
var actionSets = getActionSets();
for (var i in actionSets) {
win.g50.dd1.add ('item',actionSets[i].toString());
};
win.g50.dd1.selection=0;
var actions = getActions(actionSets[0]);
for (var i in actions) {
win.g50.dd2.add ('item',actions[i].toString());
};
win.g50.dd2.selection=0;
win.g50.dd1.onChange = function() {
win.g50.dd2.removeAll();
actions = getActions(actionSets[this.selection.index]);
for (var i in actions) {
win.g50.dd2.add ('item', actions[i]);
}
win.g50.dd2.selection=0;
};
win.g50.cb1.onClick=function(){
if(win.g50.cb1.value){
win.g50.dd1.enabled=true;
win.g50.dd2.enabled=true;
}else{
win.g50.dd1.enabled=false;
win.g50.dd2.enabled=false;
}
};
win.g50.cb1.onClick();
win.g100 =win.p1.add('group');
win.g100.orientation = 'row';
win.g100.alignment='fill';
win.g100.spacing=5;
win.g100.st1 = win.g100.add('statictext',undefined,'FileName Options');
var options = ['Document Name','New Name','Sequence No only'];
win.g100.dd1 = win.g100.add('dropdownlist',undefined,options);
win.g100.dd1.selection=0;
var numbers =[2,3,4,5];
win.g100.st2 = win.g100.add('statictext',undefined,'Seq No:');
win.g100.st2.helpTip='Start sequence number';
win.g100.et1 = win.g100.add('edittext',undefined,'1');
win.g100.et1.preferredSize=[50,20];
win.g100.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
}
win.g100.st3 =win.g100.add('statictext',undefined,'Length');
win.g100.st3.helpTip='Sequence number length';
win.g100.dd2 =win.g100.add('dropdownlist',undefined,numbers);
win.g100.dd2.selection=2;

win.g150 =win.p1.add('group');
win.g150.spacing=10;
win.g150.orientation = 'row';
win.g150.alignment='fill';
win.g150.st1 = win.g150.add('statictext',undefined,'New filename');
win.g150.st1.helpTip="Do not add an extension";
win.g150.et1 = win.g150.add('edittext',undefined,'');
win.g150.et1.preferredSize=[200,20];

win.g100.dd1.onChange=function(){
if(this.selection.index == 1){
win.g150.et1.enabled=true;
}else{
win.g150.et1.enabled=false;
}
}
win.g150.et1.enabled=false;
win.g160 =win.p1.add('group');
win.g160.orientation = 'row';
win.g160.alignment='left';
win.g160.cb1 = win.g160.add('checkbox',undefined,'Flatten document');
/////////////////////////**********************
win.g257 =win.p1.add('group');
win.g257.orientation = 'row';
win.g257.alignment='left';
win.g257.st1 = win.g257.add('statictext',undefined,'Save Options :-');
win.g257.st1.helpTip="Multiple save formats can be selected";
var z = win.g257.st1.graphics;
z.font = ScriptUI.newFont('Georgia','BOLDITALIC',18);
win.g260 =win.p1.add('group');
win.g260.spacing=1;
win.g260.orientation = 'row';
win.g260.alignment='left';
win.g260.cb1 = win.g260.add('checkbox',undefined,'TIF');
var tiffOptions=['LZW','ZIP','JPG','None'];
win.g260.dd1 = win.g260.add('dropdownlist',undefined,tiffOptions);
win.g260.dd1.selection=0;
win.g260.cb2 = win.g260.add('checkbox',undefined,'PSD');
win.g260.dd1.enabled=false;
win.g260.cb1.onClick = function(){
if(win.g260.cb1.value){
win.g260.dd1.enabled=true;
}else{
win.g260.dd1.enabled=false;
}
}
win.g260.cb3 = win.g260.add('checkbox',undefined,'PNG');
win.g260.cb3.helpTip='Save For Web PNG 24bit';
win.g260.dd2 = win.g260.add('dropdownlist')
for(var a = 0;a<101;a++){
win.g260.dd2.add('item',a);
}
win.g260.dd2.selection=80;
win.g260.dd2.enabled=false;
win.g260.cb3.onClick = function(){
if(win.g260.cb3.value){
win.g260.dd2.enabled=true;
}else{
win.g260.dd2.enabled=false;
}
}
var jpgQuality=[1,2,3,4,5,6,7,8,9,10,11,12];
win.g260.cb4 = win.g260.add('checkbox',undefined,'JPG');
win.g260.dd3 = win.g260.add('dropdownlist',undefined,jpgQuality);
win.g260.dd3.selection=7;
win.g260.dd3.enabled=false;
win.g260.cb4.onClick = function(){
if(win.g260.cb4.value){
win.g260.dd3.enabled=true;
win.g270.cb1.value=false;
win.g270.dd1.enabled=false;
}else{
win.g260.dd3.enabled=false;
}
}
win.g260.cb5 = win.g260.add('checkbox',undefined,'PDF');

win.g270 =win.p1.add('group');
win.g270.spacing=10;
win.g270.orientation = 'row';
win.g270.alignment='left';
win.g270.cb1 = win.g270.add('checkbox',undefined,'Save For Web');
win.g270.dd1 = win.g270.add('dropdownlist');
for(var a = 1;a<101;a++){
win.g270.dd1.add('item', a);
}
win.g270.dd1.selection=79;
win.g270.dd1.enabled=false;
win.g270.cb1.onClick = function(){
if(win.g270.cb1.value){
win.g270.dd1.enabled=true;
win.g260.cb4.value=false;
win.g260.dd2.enabled=false;
}else{
win.g270.dd1.enabled=false;
}
}
win.g270.cb2 = win.g270.add('checkbox',undefined,'Targa');
win.g270.cb3 = win.g270.add('checkbox',undefined,'Print Only');
win.g270.cb3.helpTip="Make sure your printer is set to Portrait orientaion!\nALL
prints will be sent as portrait!"
win.g270.cb3.onClick = function(){
if(win.g270.cb3.value){
win.g40.bu1.enabled=false;
win.g40.et1.text = '';
}else{
win.g40.bu1.enabled=true;
}
}
win.g2150 =win.p1.add('group');
win.g2150.spacing=10;
win.g2150.orientation = 'row';
win.g2150.alignment='top';
win.g2150.bu1 = win.g2150.add('button',undefined,'Process');
win.g2150.bu1.preferredSize=[210,30];
win.g2150.bu2 = win.g2150.add('button',undefined,'Cancel');
win.g2150.bu2.preferredSize=[210,30];

win.g2150.bu1.onClick=function(){ //process all pdfs


if(win.g15.cb1.value){
if(win.g15.et1.text == ''){
alert("No document width has been entered!");
return;
}
if(win.g15.et2.text == ''){
alert("No document height has been entered!");
return;
}
}
if(win.g30.et1.text == ''){
alert("No file/folder has been selected!");
return;
}
if(!win.g270.cb3.value){
if(win.g35.cb1.value == false && win.g40.et1.text == ''){
alert("No output folder has been selected!");
return;
}
if(win.g100.dd1.selection.index == 1 && win.g150.et1.text == ''){
alert("New document name has not been entered");
return;
}
}
if(win.g45.cb1.value == true && win.g45.et1.text == ''){
alert("No resize width value has been entered!");
return;
}
if(win.g45.cb1.value == true && win.g45.et2.text == ''){
alert("No resize height value has been entered!");
return;
}
if(win.g20.dd1.selection.index == 2){
if(win.g20.et1.text == ''){
alert("No number has been has been entered in the From field");
return;
}
if(win.g20.et2.text == ''){
alert("No number has been has been entered in the To field");
return;
}
if(Number(win.g20.et1.text) > Number(win.g20.et1.text)){
alert("To field should be greater than the From field!");
return;
}
}
var saveFiles = 0;
if(win.g260.cb1.value) saveFiles++;
if(win.g260.cb2.value) saveFiles++;
if(win.g260.cb3.value) saveFiles++;
if(win.g260.cb4.value) saveFiles++;
if(win.g260.cb5.value) saveFiles++;
if(win.g270.cb1.value) saveFiles++;
if(win.g270.cb2.value) saveFiles++;
if(win.g270.cb3.value) saveFiles++;
if(saveFiles == 0){
alert("No save format has been selected!");
return;
}
win.close(0);
var folders =[];
app.displayDialogs = DialogModes.NO;
var strtRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
if(win.g25.dd1.selection.index == 0){
processPDF(topLevelFolder);//single file
}
if(win.g25.dd1.selection.index == 1){//folder of pdfs
folders[0] = Folder(topLevelFolder);
var fileList = folders[0].getFiles("*.pdf");
for( var f in fileList){ processPDF(fileList[f]);}
}
if(win.g25.dd1.selection.index == 2){//folder and sub folders of pdfs
folders = FindAllFolders(topLevelFolder, folders);
folders.unshift(topLevelFolder);
for(var z in folders){
var fileList = folders[z].getFiles("*.pdf");
for( var k in fileList){ processPDF(fileList[k]);}
}
}
app.preferences.rulerUnits = strtRulerUnits;
function processPDF(pdfFile){
var noOfDocs = app.documents.length;
switch(win.g20.dd1.selection.index){
case 0 : pageStart = 1; pageEnd = 2; break; //one page only
case 1 : pageStart = 1; pageEnd = 9999; break; //all pages
case 2 : pageStart = Number(win.g20.et1.text) ; pageEnd =
(Number(win.g20.et2.text) + 1) ; break; //range of pages
default : break;
}
fileCount = (Number(win.g100.et1.text) -1);
if(win.g35.cb1.value) outputFolder = pdfFile.path;
Name='';
switch(win.g100.dd1.selection.index){
case 0 : Name = decodeURI(pdfFile.name.replace(/\.[^\.]+$/, '')) + "#"; break;
case 1 : Name = win.g150.et1.text.toString(); break;
case 3 : Name = ''; break;
}
var seqLength = Number(win.g100.dd2.selection.text);
for (var a = pageStart; a < pageEnd; a++){
var res = Number(win.g10.et1.text);
var modes = ['ECMY','RGBC','Grys','LbCl'];
var mode = modes[win.g10.dd1.selection.index];
var bits =[8,16];
var BitDepth = bits[win.g10.dd2.selection.index];
var cropTo = ['boundingBox','mediaBox','cropBox','bleedBox','trimBox','artBox'];
var cropto = cropTo[win.g10.dd3.selection.index];
if(!win.g15.cb1.value){
rasterizePDF( a,res,mode,BitDepth,cropto,pdfFile);
}else{
var W = Number(win.g15.et1.text);
var H = Number(win.g15.et2.text);
rasterizePDF( a,res,mode,BitDepth,cropto,pdfFile,W,H);
}
if(app.documents.length == noOfDocs) return; //no document opened
fileCount++;
if(win.g160.cb1.value) app.activeDocument.flatten();
var saveFile = outputFolder + "/" + Name + zeroPad(fileCount,seqLength).toString();
if(win.g45.cb1.value == true && win.g45.dd1.selection.index == 0){
FitImage( Number(win.g45.et1.text), Number(win.g45.et2.text) );
}
if(win.g50.cb1.value){
doAction(win.g50.dd2.selection.text.toString(),
win.g50.dd1.selection.text.toString());
}
if(win.g45.cb1.value == true && win.g45.dd1.selection.index == 1){
FitImage( Number(win.g45.et1.text), Number(win.g45.et2.text) );
}
//Save files.....
if(win.g260.cb1.value){//tif
tifsaveFile = File(saveFile + ".tif");
if(tifsaveFile.exists){
tifsaveFile = File(tifsaveFile.toString().replace(/\.tif$/,'') + "_" + time() +
".tif");
}
SaveTIFF(saveFile,win.g260.dd1.selection.index);
}
if(win.g260.cb2.value) {//psd
psdsaveFile = File(saveFile + ".psd");
if(psdsaveFile.exists){
psdsaveFile = File(psdsaveFile.toString().replace(/\.psd$/,'') + "_" + time() +
".psd");
}
SavePSD(psdsaveFile);
}
if(win.g260.cb3.value) {//png
pngsaveFile = File(saveFile + ".png");
if(pngsaveFile.exists){
pngsaveFile = File(pngsaveFile.toString().replace(/\.png$/,'') + "_" + time() +
".psd");
}
sfwPNG24(pngsaveFile,(win.g260.dd2.selection.index + 1));
}
if(win.g260.cb4.value) {//jpg
jpgsaveFile = File(saveFile + ".jpg");
if(jpgsaveFile.exists){
jpgsaveFile = File(jpgsaveFile.toString().replace(/\.jpg$/,'') + "_" + time() +
".jpg");
}
SaveJPEG(jpgsaveFile,(win.g260.dd3.selection.index + 1));
}
if(win.g260.cb5.value) {//pdf
pdfsaveFile = File(saveFile + ".pdf");
if(pdfsaveFile.exists){
pdfsaveFile = File(pdfsaveFile.toString().replace(/\.pdf$/,'') + "_" + time() +
".pdf");
}
SavePDF(pdfsaveFile);
}
if(win.g270.cb1.value) {//sfw jpg
sfwsaveFile = File(saveFile + ".jpg");
if(sfwsaveFile.exists){
sfwsaveFile = File(sfwsaveFile.toString().replace(/\.jpg$/,'') + "_" + time() +
".jpg");
}
SaveForWeb(sfwsaveFile,(win.g270.dd1.selection.index + 1));
}
if(win.g270.cb2.value) {//Targa
tgasaveFile = File(saveFile + ".");
if(tgasaveFile.exists){
tgasaveFile = File(tgasaveFile.toString().replace(/\.tga$/,'') + "_" + time() +
".tga");
}
saveTarga(tgasaveFile);
}
if(win.g270.cb3.value) {//Print Only
var doc = app.activeDocument;
if (doc.width > doc.height) doc.rotateCanvas(90);
doc.printSettings.flip = false;
doc.printSettings.setPagePosition(DocPositionStyle.SIZETOFIT);
doc.printSettings.negative = false;
doc.printOneCopy();
}
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}//end from to
}//end processPDF
}//end process
win.center();
win.show();
};

/****************************************** F U N C T I O N S
********************************************/

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 saveTarga(saveFile){
targaSaveOptions = new TargaSaveOptions();
targaSaveOptions.alphaChannels = true;
targaSaveOptions.resolution = TargaBitsPerPixels.THIRTYTWO;//required if alpha
channel is to be saved
activeDocument.saveAs(saveFile, targaSaveOptions, true, Extension.LOWERCASE);
};
function SavePSD(saveFile){
psdSaveOptions = new PhotoshopSaveOptions();
psdSaveOptions.embedColorProfile = true;
psdSaveOptions.alphaChannels = true;
psdSaveOptions.layers = true;
activeDocument.saveAs(saveFile, psdSaveOptions, true, Extension.LOWERCASE);
};
function SavePDF(saveFile){
pdfSaveOptions = new PDFSaveOptions();
activeDocument.saveAs(saveFile, pdfSaveOptions, true, Extension.LOWERCASE);
};
function SaveJPEG(saveFile,Quality){
var doc = activeDocument;
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 = Quality;
activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE)
};
function SaveForWeb(saveFile,Quality) {
var doc = activeDocument;
var tmpName = File(File(saveFile).path + "/SFW_TEMP.jpg");
if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel =
BitsPerChannelType.EIGHT;
var sfwOptions = new ExportOptionsSaveForWeb();
sfwOptions.format = SaveDocumentType.JPEG;
sfwOptions.includeProfile = false;
sfwOptions.interlaced = 0;
sfwOptions.optimized = true;
sfwOptions.quality = Quality;
activeDocument.exportDocument(tmpName, ExportType.SAVEFORWEB, sfwOptions);
tmpName.rename(decodeURI(File(saveFile).name));
};
function sfwPNG24(saveFile,Quality){
var doc = activeDocument;
if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel =
BitsPerChannelType.EIGHT;
var pngOpts = new ExportOptionsSaveForWeb;
pngOpts.format = SaveDocumentType.PNG;
pngOpts.PNG8 = false;
pngOpts.transparency = true;
pngOpts.interlaced = false;
pngOpts.quality = Quality;
activeDocument.exportDocument(new File(saveFile),ExportType.SAVEFORWEB,pngOpts);
};
function getActionSets() {
var i = 1;
var sets = [];
while (true) {
var ref = new ActionReference();
ref.putIndex(charIDToTypeID('ASet'), i);
var desc;
var lvl = $.level;
$.level = 0;
try {
desc = executeActionGet(ref);
} catch (e) {
break;
} finally {
$.level = lvl;
}
if (desc.hasKey(charIDToTypeID('Nm '))) {
var set = {};
set.index = i;
set.name = desc.getString(charIDToTypeID('Nm '));
set.toString = function() { return this.name; };
set.count = desc.getInteger(charIDToTypeID('NmbC'));
set.actions = [];
for (var j = 1; j <= set.count; j++) {
var ref = new ActionReference();
ref.putIndex(charIDToTypeID('Actn'), j);
ref.putIndex(charIDToTypeID('ASet'), set.index);
var adesc = executeActionGet(ref);
var actName = adesc.getString(charIDToTypeID('Nm '));
set.actions.push(actName);
}
sets.push(set);
}
i++;
}
return sets;
};
function getActions(aset) {
var i = 1;
var names = [];
if (!aset) {
throw 'Action set must be specified';
}
while (true) {
var ref = new ActionReference();
ref.putIndex(charIDToTypeID('ASet'), i);
var desc;
try {
desc = executeActionGet(ref);
} catch (e) {
break;
}
if (desc.hasKey(charIDToTypeID('Nm '))) {
var name = desc.getString(charIDToTypeID('Nm '));
if (name == aset) {
var count = desc.getInteger(charIDToTypeID('NmbC'));
var names = [];
for (var j = 1; j <= count; j++) {
var ref = new ActionReference();
ref.putIndex(charIDToTypeID('Actn'), j);
ref.putIndex(charIDToTypeID('ASet'), i);
var adesc = executeActionGet(ref);
var actName = adesc.getString(charIDToTypeID('Nm '));
names.push(actName);
}
break;
}
}
i++;
}
return names;
};
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 rasterizePDF( pageNumber,res,mode,BitDepth,cropto,pdfFile,Width,Height){
var desc = new ActionDescriptor();
var optionsDesc = new ActionDescriptor();
optionsDesc.putString( charIDToTypeID( 'Nm ' ), 'rasterized page' );
optionsDesc.putEnumerated( charIDToTypeID( 'Crop' ),
stringIDToTypeID( 'cropTo' ), stringIDToTypeID( cropto ) );
optionsDesc.putUnitDouble( charIDToTypeID( 'Rslt' ), charIDToTypeID( '#Rsl'
), res);
optionsDesc.putEnumerated( charIDToTypeID( 'Md ' ), charIDToTypeID( 'ClrS'
), charIDToTypeID( mode ) );
optionsDesc.putInteger( charIDToTypeID( 'Dpth' ), BitDepth );
optionsDesc.putBoolean( charIDToTypeID( 'AntA' ), true );
if(Width != undefined) optionsDesc.putUnitDouble( charIDToTypeID('Wdth'),
charIDToTypeID('#Pxl'), Width );
if(Height != undefined)optionsDesc.putUnitDouble( charIDToTypeID('Hght'),
charIDToTypeID('#Pxl'), Height );
optionsDesc.putBoolean( stringIDToTypeID( 'suppressWarnings' ), false );
optionsDesc.putEnumerated( charIDToTypeID( 'fsel' ),
stringIDToTypeID( 'pdfSelection' ), stringIDToTypeID( 'page' ));
optionsDesc.putInteger( charIDToTypeID( 'PgNm' ), pageNumber );
desc.putObject( charIDToTypeID( 'As ' ), charIDToTypeID( 'PDFG' ), optionsDesc
);
desc.putPath( charIDToTypeID( 'null' ), File(pdfFile) );
executeAction( charIDToTypeID( 'Opn ' ), desc, DialogModes.NO );
};
function FindAllFolders( srcFolderStr, destArray) {
var fileFolderArray = Folder( srcFolderStr ).getFiles();
for ( var i = 0; i < fileFolderArray.length; i++ ) {
var fileFoldObj = fileFolderArray[i];
if ( fileFoldObj instanceof File ) {
} else {
destArray.push( Folder(fileFoldObj) );
FindAllFolders( fileFoldObj.toString(), destArray );
}
}
return destArray;
};
function zeroPad(n, s) {
n = n.toString();
while (n.length < s) n = '0' + n;
return n;
};
function time(){
var date = new Date();
var d = date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var digital = new Date();
var hours = digital.getHours();
var minutes = digital.getMinutes();
var seconds = digital.getSeconds();
var amOrPm = "AM";
if (hours > 11) amOrPm = "PM";
if (hours > 12) hours = hours - 12;
if (hours == 0) hours = 12;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
todaysDate = "-" + hours + "_" + minutes + "_" + seconds + amOrPm;
return todaysDate.toString();
};
if (app.version.match(/\d+/) <10){
alert('Sorry but this script needs CS3 or better');
}else{
main();
}