[FIXED] Automatisieren von Photoshop zum Bearbeiten von EN -Umbenennen +600 -Dateien mit dem Namen des Ordners

Ausgabe

Ich habe +600 Produktbilder auf meinem Mac bereits ausgeschnitten und in einem eigenen Ordner katalogisiert. Sie sind alle PSDs und ich brauche ein Skript, das Folgendes tut.

  • Holen Sie sich den Namen des Ordners
  • Schnappen Sie sich alle PSDs in diesem Ordner
  • Kombinieren Sie sie in einer großen PSD in der richtigen Reihenfolge (die Dateinamen werden nacheinander als 1843, 1845, 1846 gespeichert, sodass sie in dieser Reihenfolge geöffnet werden müssen).
  • Speichern Sie diese PSD
  • Speichern Sie die einzelnen Ebenen als PNG mit dem Namen aus dem Ordner + _1, _2, _3

Ich habe bereits Erfahrung mit Bash (ehemaliger Linux-Benutzer) und stundenlang in Automator versucht, aber ohne Erfolg.

Lösung

Willkommen bei Stapelüberlauf. Die schnelle Antwort lautet: Ja, dies ist über Skripting möglich. Ich könnte sogar vorschlagen, in zwei Skripte aufzuteilen, eines zum Erfassen und Speichern der PSDs und das zweite zum Speichern der Ebenen.

Es ist nicht sehr klar, ob es sich um das “Kombinieren” der PSDs oder um “getrennte Ebenen” handelt, nur weiß ich nicht, ob es sich um unterschiedliche Leinwandgrößen handelt, wo jede PSD positioniert werden soll (x-, y-Offsets und Ebenen). Ihre Dateien vor uns, auf die Sie verweisen können. Kurz gesagt, wenn Sie Pseudocode darüber schreiben, was Sie von Ihrem Code erwarten, erleichtert dies die Beantwortung Ihrer Frage.

Hier sind ein paar Code-Snippets, um Ihnen den Einstieg zu erleichtern: Dies öffnet einen Ordner und ruft alle PSDs als Array ab:

// get all the files to process
var folderIn = Folder.selectDialog("Please select folder to process");
if (folderIn != null)
{
  var tempFileList = folderIn.getFiles();
}


var fileList = new Array(); // real list to hold images, not folders

for (var i = 0; i < tempFileList.length; i++)
{
  // get the psd extension
  var ext = tempFileList[i].toString();
  ext = ext.substring(ext.lastIndexOf("."), ext.length);

  if (tempFileList[i] instanceof File) 
    {
      if (ext == ".psd") fileList.push (tempFileList[i]);
      // else (alert("Ignoring " + tempFileList[i]))
    }
}

alert("Files:\n" + fileList.length);

Sie können damit ein PNG speichern

function save_png(afilePath)
{
  // Save as a png
  var pngFile = new File(afilePath);
  pngSaveOptions = new PNGSaveOptions();
  pngSaveOptions.embedColorProfile = true;
  pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
  pngSaveOptions.matte = MatteType.NONE; pngSaveOptions.quality = 1;
  activeDocument.saveAs(pngFile, pngSaveOptions, false, Extension.LOWERCASE);
}

Um eine PSD zu öffnen, verwenden Sie einfach

app.open(fileRef);   

Um es zu retten

function savePSD(afilePath)
{
  // save out psd
  var psdFile = new File(afilePath);
  psdSaveOptions = new PhotoshopSaveOptions();
  psdSaveOptions.embedColorProfile = true;
  psdSaveOptions.alphaChannels = true;  
  activeDocument.saveAs(psdFile, psdSaveOptions, false, Extension.LOWERCASE);
}


Beantwortet von –
Ghoul Fool


Antwort geprüft von –
Gilberto Lyons (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like