// Voreinstellungen: Keine Farbprofilwarnung und die Masseinheit auf Pixel einstellen.
var startRulerUnits = app.preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
app.displayDialogs = DialogModes.NO
// Dateien per Dialogfenster auswaehlen und Zielverzeichnis waehlen
var selectedFolder = Folder.selectDialog("Quellverzeichnis suchen");
var targetFolder = Folder.selectDialog("Zielverzeichnis suchen");
// Ordner abarbeiten
checkFolder(selectedFolder);
// Voreinstellungen wieder zurückstellen von Zeile 6 und folgende
app.preferences.rulerUnits = startRulerUnits;
// Bildverarbeitung
function checkFolder(folder)
{
var fileList = folder.getFiles();
for (var i = 0; i < fileList.length; i++)
{
var file = fileList[i];
if(file instanceof File && file.name.match(/\.psd$/i))
{
// Dateiname ermitteln und Datei mit File-Objekt oeffnen
open(file);
// Bild nach sRGB konvertieren
ConvertTosRGBProfile()
// Anweisungen, die das Bild umwandeln, damit es ohne
// Dialogfenster als JPEG gespeichert werden kann
activeDocument.flatten();
activeDocument.channels.removeAll();
activeDocument.bitsPerChannel = BitsPerChannelType.EIGHT;
// Aktuelles Verzeichnis in eine Variable Speichern
var subFolder = file.path;
var newtargetFolder = new Folder(targetFolder + file.path);
newtargetFolder.create();;
// Bild für Preisliste speichern
bildgroesse();
activeDocument.activeLayer.applyUnSharpMask(200, 0.2, 0);
speichern();
// activeDocument.rotateCanvas(90);
// Dokument schliessen
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
else if (file instanceof Folder)
{
checkFolder(file);
}
}
}
function bildgroesse(){
// die Abmessungen des gerdade geöffneten Dokuments ermitteln
var dukuBreit = activeDocument.width.value;
var dokuHoch = activeDocument.height.value;
// Querformat als Ergebnis der Pruefung:
if(dukuBreit = dokuHoch){
activeDocument.resizeImage(480, undefined, 72, ResampleMethod.BILINEAR);
//activeDocument.rotateCanvas(-90);
}
else{
activeDocument.resizeImage(undefined, 680, 72, ResampleMethod.BILINEAR);
//activeDocument.rotateCanvas(-90);
}
}
function speichern()
{
if (documents.length > 0)
{
var myFile = new File(targetFolder + subFolder);
var webJpgOptions = new ExportOptionsSaveForWeb();
webJpgOptions.format = SaveDocumentType.JPEG;
webJpgOptions.optimized = true;
webJpgOptions.quality = 60;
activeDocument.exportDocument(myFile, ExportType.SAVEFORWEB, webJpgOptions);
File = null; ExportOptionsSaveForWeb = null;
}
}
function ConvertTosRGBProfile() {
var id136 = stringIDToTypeID( "convertToProfile" );
var desc31 = new ActionDescriptor();
var id137 = charIDToTypeID( "null" );
var ref6 = new ActionReference();
var id138 = charIDToTypeID( "Dcmn" );
var id139 = charIDToTypeID( "Ordn" );
var id140 = charIDToTypeID( "Trgt" );
ref6.putEnumerated( id138, id139, id140 );
desc31.putReference( id137, ref6 );
var id141 = charIDToTypeID( "T " );
desc31.putString( id141, "sRGB IEC61966-2.1" );
var id142 = charIDToTypeID( "Inte" );
var id143 = charIDToTypeID( "Inte" );
var id144 = charIDToTypeID( "Clrm" );
desc31.putEnumerated( id142, id143, id144 );
var id145 = charIDToTypeID( "MpBl" );
desc31.putBoolean( id145, true );
var id146 = charIDToTypeID( "Dthr" );
desc31.putBoolean( id146, true );
}