var inFolder = Folder.selectDialog("Please select folder to process"); if(inFolder !== null) { if(confirm('Tutti i file verranno sovrascritti (se l\'estensione è jpg altrimenti verranno copiati con estensione jpg), continuare?')) { var newName = prompt('Nome file (se vuoto i file non verranno rinominati)', ''); var resizeWidth = prompt('Resize width (px)', '1200'); if(resizeWidth != null && resizeWidth != "") { traverseFolder(inFolder); } else { alert("inserire delle dimensioni valide"); } } } function visitFolder(inFolder) { var fileList = inFolder.getFiles(/\.(jpg|tif|psd|)$/i); //var outfolder = new Folder(decodeURI(inFolder) + "/" + outfolderName); //if (!outfolder.exists) outfolder.create(); for(var a = 0; a < fileList.length; a++) { if(fileList[a] instanceof File) { var doc = open(fileList[a]); var docname = fileList[a].name.replace(/\.[^\.]+$/, ''); //zoomify(docname); doc.close(SaveOptions.DONOTSAVECHANGES); } } } function zoomify(path) { var savedRuler = app.preferences.rulerUnits; var filename = app.activeDocument.name; var w = app.activeDocument.width.as('px'); //var h = app.activeDocument.height; var quality = 80; app.preferences.rulerUnits = Units.PIXELS; // se la larghezza è inferiore a 1200px non fare nulla 42,33 in cm if(w > resizeWidth) { app.activeDocument.resizeImage(resizeWidth+'px', null, null, ResampleMethod.BICUBICSHARPER); } app.preferences.rulerUnits = savedRuler; //var outfolder = new Folder(decodeURI(inFolder) + "/" + outfolderName + "/"); //if (outfolder.exists === false) outfolder.create(); if(newName != null && newName != "") { // il vecchio file è da cancellare var deleteFile = new File(path + "/" + filename); // nuovo filename filename = newName+"_"+Math.random()+".jpg"; } // prendo l'estensione del file filext = filename.split('.').pop(); newfilename = filename.replace(filext, "jpg"); var saveFile = new File(path + "/" + newfilename); // rimuovo il vecchio file if(newName != null && newName != "") { deleteFile.remove(); } SaveJPEG(saveFile, quality); } function SaveJPEG(saveFile, quality) { var exportOptionsSaveForWeb = new ExportOptionsSaveForWeb(); exportOptionsSaveForWeb.format = SaveDocumentType.JPEG; exportOptionsSaveForWeb.includeProfile = false; exportOptionsSaveForWeb.interlaced = true; exportOptionsSaveForWeb.optimized = true; exportOptionsSaveForWeb.quality = quality; activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB,exportOptionsSaveForWeb); } function traverseFolder(path) { // Create new folder object based on path string var folder = new Folder(path); // Get all files in the current folder var files = folder.getFiles(); // se non esiste la cartella //var outfolder = new Folder(decodeURI(inFolder) + "/" + outfolderName + "/" + path); //if (!outfolder.exists) outfolder.create(); // Loop over the files in the files object for (var i = 0; i < files.length; i++) { // Check if the file is an instance of a file // else call the traverse folder recursively with the current folder as an argument if (files[i] instanceof File) { // Convert the file object to a string for matching purposes (match only works on String objects) var fileString = String(files[i]); // Check if the file contains the right extension if (fileString.match(/.(jpg|tif|psd|bmp|gif|png)$/i)) { // Do something if the file matches //alert(fileString + 'good file'); var doc = open(files[i]); var docname = files[i].name.replace(/\.[^\.]+$/, ''); zoomify(path); doc.close(SaveOptions.DONOTSAVECHANGES); } else { // Do something if the file doesn't match //alert(fileString + 'bad file'); } } else { //alert('passing folder: ' + files[i]); // Call method recursively with the current folder as an argument traverseFolder(files[i]); } } }