by Chadwick Wood
        May 25th, 2009
      
A reader asked if there was a way to apply the Photoshop Thumbnail script I wrote to all open documents, so I figured I'd post it up here for everyone to see. All it takes is a small addition and modification, to iterate through all of Photoshop's open documents, instead of just the active one. Here's the code, with comments:
// docs is a reference to the Documents collection, that holds all open documents
docs = app.documents;
for (i=0; i < docs.length; i++) {
    // instead of getting the active document, iterate through each open doc
    doc = docs.index(i);
    // the rest of the script is unchanged
    doc.changeMode(ChangeMode.RGB);
    var thumbDim = 60; // the dimension of the square
    // crop to a big square, conditionally, based on dimensions
    if (doc.height > doc.width) {
        doc.resizeCanvas(doc.width,doc.width,AnchorPosition.TOPCENTER);
    }
    else {
        doc.resizeCanvas(doc.height,doc.height,AnchorPosition.MIDDLECENTER);
    }
    // resize, then auto-contrast and sharpen
    // specify that our units are in pixels, via creation of a UnitValue object
    doc.resizeImage(UnitValue(thumbDim,"px"),null,null,ResampleMethod.BICUBIC);
    doc.activeLayer.autoContrast();
    doc.activeLayer.applySharpen();
    // our web export options
    var options = new ExportOptionsSaveForWeb();
    options.quality = 70;
    options.format = SaveDocumentType.JPEG;
    options.optimized = true;
    var newName = 'thumb-'+doc.name+'.jpg';
    doc.exportDocument(File(doc.path+'/'+newName),ExportType.SAVEFORWEB,options);
}