Skip to main content
Participating Frequently
June 25, 2011
Open for Voting

P: Ability to arrange & customize save-as file formats so popular formats are at the top

  • June 25, 2011
  • 185 replies
  • 6688 views

Photoshop supports about 20 formats, but I only use 4 or 5 of them. It's bugged me since 5.5 to have to fish for jpeg somewhere in the middle of the list. Can the file formats get arranged by most commonly used? And maybe allow us to remove stuff like targa and large file format that nobody uses.

185 replies

January 24, 2016
Anyone realised this topic is over 5 years old and Adobe have not done us the courtesy of a reply?
Participating Frequently
January 23, 2016


Hi Adobe: This one is so obvious I don't know why it took me 20 years of using Photoshop to think of. In 20 years, I have only saved files in four file types: PSD, TIFF, JPEG and PNG. So, why do I have to scroll through a long list of types when selecting the format I want to save (TARGA, JPEG 2000-- these are outdated formats). You should allow users to toggle or customize the types they want to show in the dropdown menu. This would save me a lot of time and hunting and pecking. Sounds like an EASY change to code.
Inspiring
December 1, 2015
I love this idea. I think you could have a pop out menu from the Save As option in the File dropdown menu. Here each file option has a star beside it which a user can select as a favorite. Once selected these items appear at the top of the list in their most simplified form - no need to have the full list of document types in brackets. This would make it sooo easy to select the file format we wanted.

CreeDeauxAuthor
Participating Frequently
January 7, 2015
oh, cheers, I see it. Thanks!
c.pfaffenbichler
Community Expert
Community Expert
January 7, 2015
I have posted the code on a previous comment.
CreeDeauxAuthor
Participating Frequently
January 6, 2015
I'd like to try it, are you able to share the script with us or link to it?
c.pfaffenbichler
Community Expert
Community Expert
December 29, 2014
It does not affect the Save As dialog, when run it will raise a dialog that offers
• entry field to edit the name to save under
• button/hit enter to raise the platform specific Folder selection dialog (by default the active file’s location is selected)
• four options: save a copy as jpg quality 7, save a copy as jpg quality 10, save a copy as flattened tif, save as a layered tif
Inspiring
December 27, 2014
Chris, can you provide a brief description of what this script will do? Will it reduce the save as options to just 2, jpeg or tiff?

Thanks
c.pfaffenbichler
Community Expert
Community Expert
December 27, 2014

The below code could be edited in a text editor or (preferably) in Adobe’s ExtendScript Toolkit as long as it is saved as a .jsx-file into Photoshop’s Scripts Folder.
If you should need help improving it you probably should post over at
https://forums.adobe.com/community/ph...

// save jpg or tif;
// 2014, use it at your own risk;
#target photoshop
if (app.documents.length > 0) {
//////////////////////////////////////////
var thedoc = app.activeDocument;
var docName = thedoc.name;
try {
var basename = docName.match(/(.*)\.[^\.]+$/)[1];
var docPath = thedoc.path
}
catch (e) {
var basename = thedoc.name;
var docPath = "~/Desktop"
};
//////////////////////////////////////////
////// create dialog for customer-entry //////
var dlg = new Window('dialog', "save copy", [500,300,820,683]);
dlg.filename = dlg.add('edittext', [12,15,308,35], (basename), {multiline:false});
dlg.filename.active = true;
dlg.path = dlg.add('button', [12,45,308,80], "to select different folder hit enter", {name:'ok'});
dlg.thepath = dlg.add('listbox', [12,90,308,220], String(docPath).split("/"));
dlg.path. function () {
var theFolder = Folder(docPath).selectDlg ("select folder");
if (theFolder != undefined) {
dlg.thepath.removeAll();
var theArray = String(theFolder.fullName).split("/");
for (var m = 0; m < theArray.length; m++) {
dlg.thepath.add("item", theArray[m]);
};
docPath = String(theFolder.fullName)
};
};
//////////////////////////////
dlg.jpg = dlg.add('panel', [12,230,153,330], "save jpg");
dlg.jpg.jpg7 = dlg.jpg.add('button', [10,10,120,40], "jpg copy 7");
dlg.jpg.jpg10 = dlg.jpg.add('button', [10,50,120,80], "jpg copy 10");
dlg.jpg.jpg7. function () {
dlg.close();
saveJpgCopy (thedoc, docPath, dlg.filename.text, false, 7, "", false)
};
dlg.jpg.jpg10. function () {
dlg.close();
saveJpgCopy (thedoc, docPath, dlg.filename.text, false, 10, "", false)
};
//////////////////////////////
dlg.tif = dlg.add('panel', [168,230,308,330], "save tif");
dlg.tif.flat = dlg.tif.add('button', [10,10,120,40], "flat tif copy");
dlg.tif.layered = dlg.tif.add('button', [10,50,120,80], "layered tif");
dlg.tif.flat. function () {
dlg.close();
saveTiff (thedoc, docPath, dlg.filename.text, false, false, false, false, true)
};
dlg.tif.layered. function () {
dlg.close();
saveTiff (thedoc, docPath, dlg.filename.text, true, true, false, false, false)
};
//////////////////////////////
// cancel-button;
dlg.cancelBtn = dlg.add('button', [13,340,307,370], 'Cancel', {name:'cancel'});
//////////////////////////////
dlg.center();
var myReturn = dlg.show ();
};
////////////////////////////////////
/*save jpg copy*/
function saveJpgCopy (thedoc, docPath, basename, srgb, theQuality, theSuffix, overwrite) {
/* check for existing file */
if (overwrite == false && File(docPath+'/'+basename+theSuffix+'.jpg').exists == true) {
var theConfirm = confirm("overwrite existing file");
if (theConfirm == false) {return}
};
/* make copy and save */
if (app.documents.length > 0) {
try {
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = theQuality;
jpegOptions.embedColorProfile = true;
/* duplicate */
if (thedoc.mode == DocumentMode.BITMAP) {
var theCopy = thedoc.duplicate ("thecopy", true);
var idCnvM = charIDToTypeID( "CnvM" );
var desc2 = new ActionDescriptor();
var idT = charIDToTypeID( "T " );
var desc3 = new ActionDescriptor();
var idRt = charIDToTypeID( "Rt " );
desc3.putInteger( idRt, 1 );
var idGrys = charIDToTypeID( "Grys" );
desc2.putObject( idT, idGrys, desc3 );
executeAction( idCnvM, desc2, DialogModes.NO );
}
else {
if (thedoc.mode == DocumentMode.LAB || thedoc.mode == DocumentMode.DUOTONE || thedoc.mode == DocumentMode.INDEXEDCOLOR || thedoc.mode == DocumentMode.MULTICHANNEL) {
var theCopy = thedoc.duplicate ("thecopy", true);
var idCnvM = charIDToTypeID( "CnvM" );
var desc114 = new ActionDescriptor();
var idT = charIDToTypeID( "T " );
var idRGBM = charIDToTypeID( "RGBM" );
desc114.putClass( idT, idRGBM );
executeAction( idCnvM, desc114, DialogModes.ALL );
}
else {
var theCopy = thedoc.duplicate("thecopy", true)
}
};
/* convert */
if (srgb == true) {
theCopy.convertProfile ("sRGB IEC61966-2.1", Intent.RELATIVECOLORIMETRIC, true, true)
};
theCopy.saveAs((new File(docPath+'/'+basename+theSuffix+'.jpg')),jpegOptions,true);
theCopy.close(SaveOptions.DONOTSAVECHANGES)
}
catch (e) {docName+" failed"}
}
};
/*save tif */
function saveTiff (thedoc, docPath, basename, srgb, layers, alpha, overwrite, copy) {
/* check for existing file */
if (overwrite == false && File(docPath+'/'+basename+'.tif').exists == true) {
var theConfirm = confirm("overwrite existing file");
if (theConfirm == false) {return}
};
/* make copy and save */
if (app.documents.length > 0) {
try {
/* tif options */
tifOpts = new TiffSaveOptions();
tifOpts.embedColorProfile = true;
tifOpts.imageCompression = TIFFEncoding.TIFFLZW;
tifOpts.alphaChannels = alpha;
tifOpts.byteOrder = ByteOrder.MACOS;
tifOpts.layers = layers;
/* duplicate */
if (copy == true) {var theCopy = thedoc.duplicate("thecopy", true)}
else {var theCopy = thedoc};
theCopy.saveAs((new File(docPath+'/'+basename+'.tif')),tifOpts,false);
if (copy == true) {theCopy.close(SaveOptions.DONOTSAVECHANGES)}
}
catch (e) {docName+" failed"}
}
};

Inspiring
December 23, 2014
+ 1 for this.