Quantcast
Channel: Adobe Community: Message List - Photoshop Scripting
Viewing all articles
Browse latest Browse all 27456

Add dialog to save as script

$
0
0

Hi all, I have this script

 

1.jpg

 

 

 

And I want to make it to have a NAME field with the actual document name so I can change it when I make multiple versions of the file

 

I have included a image to see example

 

2.jpg

 

Can anyone help me?

 

Thanks in advance!

 

 

app.bringToFront();

 

var OriginalSize = true

var Other =false

var Save8x10 = false

var Option1 = false

var Option2 = false

var Option3 =false

 

var OtherSize = '1125'

var Option1Size = '600'

var Option2Size = '300'

var Option3Size = '150'

 

if (documents.length == 0) {

    alert('There are no documents open.');

}

else {

   

    //try{

        var fullPathStr = activeDocument.fullName.toString();

        SaveFiles()

    //}

    //catch( e ) {

            //alert( e );

    //}

 

    function SaveFiles(){

       

        app.playbackDisplayDialogs = DialogModes.NO;

 

        var OriginalRulerUnits = app.preferences.rulerUnits

        app.preferences.rulerUnits = Units.PIXELS

 

        var CurWidth =activeDocument.width.value

        var CurHeight = activeDocument.height.value

 

        var dlgwin = new Window('dialog', 'File Save 1', );

 

        //Full Resolution Panel

 

        dlgwin.FullResPnl = dlgwin.add('panel',undefined,'  Full Resolution  ');

        dlgwin.FullResPnl.preferredSize.height = 135

 

        dlgwin.FullResPnl.orientation = 'column';

        dlgwin.FullResPnl.alignChildren = 'center';

 

        dlgwin.FullResTitle = dlgwin.FullResPnl.add("statictext", undefined,);

        dlgwin.FullResTitle.alignment = 'left'

        dlgwin.FullResTitle.preferredSize.height = 5

 

        dlgwin.FullRes = dlgwin.FullResPnl.add("group");

        dlgwin.FullRes.orientation = 'row';

 

        dlgwin.FullResLabels = dlgwin.FullRes.add("group");

        dlgwin.FullResLabels.orientation = 'column';

 

        dlgwin.FullResOrig = dlgwin.FullResLabels.add('statictext',undefined,'Original Size:');

        dlgwin.FullResOther = dlgwin.FullResLabels.add('statictext',undefined,'Other:');

        dlgwin.FullResForPrint = dlgwin.FullResLabels.add('statictext',undefined, '8x10 for Printing:');

 

        dlgwin.FullResOrig.alignment = 'right'

        dlgwin.FullResOther.alignment = 'right'

        dlgwin.FullResForPrint.alignment = 'right'

 

        dlgwin.FullResOrig.preferredSize.height = 20

        dlgwin.FullResOther.preferredSize.height = 20

        dlgwin.FullResForPrint.preferredSize.height = 20

 

        dlgwin.FullRescb = dlgwin.FullRes.add("group");

        dlgwin.FullRescb.orientation = 'column';

 

        dlgwin.FullResOrigcb= dlgwin.FullRescb.add('checkbox',undefined);

        dlgwin.FullResOthercb = dlgwin.FullRescb.add('checkbox',undefined);

        dlgwin.FullResForPrintcb= dlgwin.FullRescb.add('checkbox',undefined);

 

        dlgwin.FullResOrigcb.value = OriginalSize

        dlgwin.FullResOthercb.value = Other

        dlgwin.FullResForPrintcb.value = Save8x10

 

        dlgwin.FullResOrigcb.preferredSize.height = 20

        dlgwin.FullResOthercb.preferredSize.height = 20

        dlgwin.FullResForPrintcb.preferredSize.height = 20

 

        dlgwin.FullResSize = dlgwin.FullRes.add("group");

        dlgwin.FullResSize.orientation = 'column';

        dlgwin.FullResSize.alignment = 'fill';

 

        dlgwin.FullResSizeEdit= dlgwin.FullResSize.add('edittext',undefined, CurWidth);

        dlgwin.FullResOtherEdit = dlgwin.FullResSize.add('edittext',undefined, OtherSize);

 

        dlgwin.FullResSizeEdit.preferredSize.width = 55

        dlgwin.FullResOtherEdit.preferredSize.width = 55

 

        dlgwin.FullResPW = dlgwin.FullRes.add("group");

        dlgwin.FullResPW.orientation = 'column';

        dlgwin.FullResPW.alignment = 'fill';

 

        dlgwin.FullResOrigPW= dlgwin.FullResPW.add('statictext',undefined,'pixels wide');

        dlgwin.FullResOtherPW= dlgwin.FullResPW.add('statictext',undefined,'pixels wide');

 

        dlgwin.FullResOrigPW.preferredSize.height = 20

        dlgwin.FullResOtherPW.preferredSize.height = 20

 

 

        //Low Resolution Panel

 

        dlgwin.LowResPnl = dlgwin.add('panel',undefined,'  72 dpi  ');

        dlgwin.LowResPnl.preferredSize.height = 135

 

        dlgwin.LowResPnl.orientation = 'column';

        dlgwin.LowResPnl.alignChildren = 'center';

 

        dlgwin.LowResTitle = dlgwin.LowResPnl.add("statictext", undefined,);

        dlgwin.LowResTitle.alignment = 'left'

        dlgwin.LowResTitle.preferredSize.height = 5

 

        dlgwin.LowRes = dlgwin.LowResPnl.add("group");

        dlgwin.LowRes.orientation = 'row';

 

        dlgwin.LowResLabels = dlgwin.LowRes.add("group");

        dlgwin.LowResLabels.orientation = 'column';

 

        dlgwin.LowResOpt1 = dlgwin.LowResLabels.add('statictext',undefined,'Option 1:');

        dlgwin.LowResOpt2 = dlgwin.LowResLabels.add('statictext',undefined,'Option 2:');

        dlgwin.LowResOpt3 = dlgwin.LowResLabels.add('statictext',undefined, 'Option 3:');

 

        dlgwin.LowResOpt1.alignment = 'right'

        dlgwin.LowResOpt2.alignment = 'right'

        dlgwin.LowResOpt3.alignment = 'right'

 

        dlgwin.LowResOpt1.preferredSize.height = 20

        dlgwin.LowResOpt2.preferredSize.height = 20

        dlgwin.LowResOpt3.preferredSize.height = 20

 

        dlgwin.LowRescb = dlgwin.LowRes.add("group");

        dlgwin.LowRescb.orientation = 'column';

 

        dlgwin.LowResOpt1cb= dlgwin.LowRescb.add('checkbox',undefined);

        dlgwin.LowResOpt2cb = dlgwin.LowRescb.add('checkbox',undefined);

        dlgwin.LowResOpt3cb= dlgwin.LowRescb.add('checkbox',undefined);

 

        dlgwin.LowResOpt1cb.value = Option1

        dlgwin.LowResOpt2cb.value = Option2

        dlgwin.LowResOpt3cb.value = Option3

 

        dlgwin.LowResOpt1cb.preferredSize.height = 20

        dlgwin.LowResOpt2cb.preferredSize.height = 20

        dlgwin.LowResOpt3cb.preferredSize.height = 20

 

        dlgwin.LowResSize = dlgwin.LowRes.add("group");

        dlgwin.LowResSize.orientation = 'column';

        dlgwin.LowResSize.alignment = 'fill';

 

        dlgwin.LowResOpt1Edit= dlgwin.LowResSize.add('edittext',undefined,Option1Size);

        dlgwin.LowResOpt2Edit = dlgwin.LowResSize.add('edittext',undefined,Option2Size);

        dlgwin.LowResOpt3Edit = dlgwin.LowResSize.add('edittext',undefined,Option3Size);

 

        dlgwin.LowResOpt1Edit.preferredSize.width = 55

        dlgwin.LowResOpt2Edit.preferredSize.width = 55

        dlgwin.LowResOpt3Edit.preferredSize.width = 55

 

        dlgwin.LowResPW = dlgwin.LowRes.add("group");

        dlgwin.LowResPW.orientation = 'column';

        dlgwin.LowResPW.alignment = 'fill';

 

        dlgwin.LowResOpt1PW= dlgwin.LowResPW.add('statictext',undefined,'pixels wide');

        dlgwin.LowResOpt2PW= dlgwin.LowResPW.add('statictext',undefined,'pixels wide');

        dlgwin.LowResOpt3PW= dlgwin.LowResPW.add('statictext',undefined,'pixels wide');

 

        dlgwin.LowResOpt1PW.preferredSize.height = 20

        dlgwin.LowResOpt2PW.preferredSize.height = 20

        dlgwin.LowResOpt3PW.preferredSize.height = 20

 

        dlgwin.btns = dlgwin.add('group');

        dlgwin.btns.orientation = 'row';

        dlgwin.btns.alignChildren = 'left';

        dlgwin.btns.bSave = dlgwin.btns.add('button',undefined,'Save');

        dlgwin.btns.bCancel = dlgwin.btns.add('button',undefined,'Cancel');

 

        dlgwin.btns.bSave.preferredSize.height = 30

        dlgwin.btns.bSave.preferredSize.width = 115

 

        dlgwin.btns.bCancel.preferredSize.height = 30

        dlgwin.btns.bCancel.preferredSize.width = 115

 

         // ONCLICK save button...

        dlgwin.btns.bSave.onClick = function() {

           

            app.playbackDisplayDialogs = DialogModes.NO;

           

            var docName = app.activeDocument.name;

            var data = new Object();

            var fullPathStr = activeDocument.fullName.toString();

            var lastDot = fullPathStr.lastIndexOf( "." );

            var fileNameNoPath = fullPathStr.substr( 0, lastDot );

            data.extension = fullPathStr.substr( lastDot + 1, fullPathStr.length );

            var lastSlash = fullPathStr.lastIndexOf( "/" );

            var FileName = fileNameNoPath.substr(lastSlash +1, fullPathStr.length);

            data.folder = fileNameNoPath.substr( 0, lastSlash );

            data.fileType = activeDocument.fullName.type;

       

            if(dlgwin.FullResForPrintcb.value == true){

               

                var jpegOptions = new JPEGSaveOptions();

                jpegOptions.quality = 12;

               

                var forColour = new SolidColor;

                forColour = app.foregroundColor;

                app.backgroundColor = forColour;       

               

                activeDocument.saveAs( File( data.folder + '/' +  FileName + '_8x10.jpg' ), jpegOptions,true);

       

                var FullJpgName = data.folder + '/' + FileName + '_8x10.jpg'

                var FullJpgStr = FullJpgName.toString()

                var fileRef = new File( FullJpgStr)

               

                app.open(fileRef)

                app.bringToFront(fileRef);

           

                activeDocument.resizeImage(2400,2400,300)

                activeDocument.resizeCanvas(2400,3000, AnchorPosition.TOPLEFT)

                activeDocument.resizeCanvas(2430,3030)

                activeDocument.resizeCanvas(2430,3060, AnchorPosition.TOPCENTER)

               

                activeDocument.saveAs( File( data.folder + '/' + FileName + '_8x10.jpg' ), jpegOptions,true);   

                activeDocument.close(SaveOptions.DONOTSAVECHANGES);

           

            }

           

            var i = 0

            var PrintSize = new Array();

            var PrintRes = new Array();

           

            if( dlgwin.FullResOrigcb.value == true ){

           

                PrintSize[i] = dlgwin.FullResSizeEdit.text

                PrintRes[i] =300

                i = i + 1 ;

            }

            if( dlgwin.FullResOthercb.value == true ){

                PrintSize[i] = dlgwin.FullResOtherEdit.text

                PrintRes[i] = 300

                i = i + 1;

            }

            if( dlgwin.LowResOpt1cb.value == true ){

                PrintSize[i] =  dlgwin.LowResOpt1Edit.text

                PrintRes[i] = 72

                i = i + 1 ;

            }

            if( dlgwin.LowResOpt2cb.value == true ){

                PrintSize[i] =  dlgwin.LowResOpt2Edit.text

                PrintRes[i] = 72

                i = i + 1 ;

            }

            if( dlgwin.LowResOpt3cb.value == true ){

                PrintSize[i] =  dlgwin.LowResOpt3Edit.text

                PrintRes[i] = 72

                i = i + 1 ;

            }

           

            if (PrintSize.length>0) {

                   

                    try{

                       

                        var jpegOptions = new JPEGSaveOptions();

                        jpegOptions.quality = 12;

                       

                        var NewWidth = Number(PrintSize[0])

                        var NewHeight = (CurHeight/CurWidth)*NewWidth

                       

                        activeDocument.saveAs( File( data.folder + '/' +  FileName + '_' + NewWidth +'.jpg'), jpegOptions ,true );

       

                        var FullJpgName = data.folder + '/' + FileName + '_' + NewWidth +'.jpg'

                       

                        var FullJpgStr = FullJpgName.toString()

                        var fileRef = new File( FullJpgStr)

                       

                        app.open(fileRef)

                        app.bringToFront(fileRef);

                       

                        activeDocument.resizeImage(NewWidth,NewHeight,PrintRes[0])

                        activeDocument.saveAs( File( data.folder + '/' +  FileName + '_' + NewWidth +'.jpg'), jpegOptions ,true );

                       

                        for ( var i = 1; i < PrintSize.length; i++ ){

                       

                            var NewWidth = Number(PrintSize[i])

                            var NewHeight = (CurHeight/CurWidth)*NewWidth

                           

                            activeDocument.resizeImage(NewWidth,NewHeight,PrintRes[i])

                            activeDocument.saveAs( File( data.folder + '/' + FileName + '_' + NewWidth +'.jpg'), jpegOptions,true);   

                           

                        }

                       

                            activeDocument.close(SaveOptions.DONOTSAVECHANGES);

                    }   

                    catch( e ) {

                        alert( e );

                    }

                       

                       

        }           

                    dlgwin.close()

                    //activeDocument.save()

                    activeDocument.saveAs( File( data.folder + '/' +  FileName +'.psd'));

    }

 

     dlgwin.btns.bCancel.onClick = function() {                                                                                                       

                

                  dlgwin.close()

      }

    

     dlgwin.show();

   

        app.playbackDisplayDialogs = DialogModes.ALL;

        app.preferences.rulerUnits = OriginalRulerUnits

    }

}                   


Viewing all articles
Browse latest Browse all 27456

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>