Come automatizzare Photoshop?
-
16-09-2019 - |
Domanda
Sto cercando di automatizzare il processo di scansione / foto di ritaglio in Photoshop. Ho bisogno di eseguire la scansione di 3 foto alla volta, quindi utilizzare Crop di Photoshop e raddrizza foto di comando, che crea 3 immagini separate. Dopo che mi piacerebbe di salvare ciascuna delle immagini di nuova creazione come PNG.
Ho guardato gli script JSX e sembrano un sacco di promesse. È quello che ho descritto possibile automatizzare in Photoshop utilizzando JavaScript o VBScript o qualsiasi altra cosa?
Soluzione 3
In realtà ho avuto la risposta sul forum di Photoshop nel corso di Adobe. Si scopre che Photoshop CS4 è totalmente script tramite JavaScript, VBScript e viene fornito con un davvero kick-ass Developer IDE, che ha tutto ci si aspetterebbe (debugger, finestra, codifica a colori e molto altro orologio). Ero totalmente impressionato.
Di seguito viene riportato un estratto di riferimento:
è possibile eseguire il seguente script che creerà una nuova cartella fuori quella esistente e lotto dividere tutti i file li existingFileName # 001.png denominazione e metterli nella nuova cartella (a cura)
#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process");
if(inFolder != null){
var fileList = inFolder.getFiles(/\.(jpg|tif|psd|)$/i);
var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
if (outfolder.exists == false) outfolder.create();
for(var a = 0 ;a < fileList.length; a++){
if(fileList[a] instanceof File){
var doc= open(fileList[a]);
doc.flatten();
var docname = fileList[a].name.slice(0,-4);
CropStraighten();
doc.close(SaveOptions.DONOTSAVECHANGES);
var count = 1;
while(app.documents.length){
var saveFile = new File(decodeURI(outfolder) + "/" + docname +"#"+ zeroPad(count,3) + ".png");
SavePNG(saveFile);
activeDocument.close(SaveOptions.DONOTSAVECHANGES) ;
count++;
}
}
}
};
function CropStraighten() {
function cTID(s) { return app.charIDToTypeID(s); };
function sTID(s) { return app.stringIDToTypeID(s); };
executeAction( sTID('CropPhotosAuto0001'), undefined, DialogModes.NO );
};
function SavePNG(saveFile){
pngSaveOptions = new PNGSaveOptions();
pngSaveOptions.embedColorProfile = true;
pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
pngSaveOptions.matte = MatteType.NONE;
pngSaveOptions.quality = 1;
pngSaveOptions.PNG8 = false; //24 bit PNG
pngSaveOptions.transparency = true;
activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE);
}
function zeroPad(n, s) {
n = n.toString();
while (n.length < s) n = '0' + n;
return n;
};
qui per la completa posta.
Altri suggerimenti
Ho appena trovato questo script appena fatto il lavoro per me! E 'ritagliare automaticamente e raddrizzare la foto e salvare ogni risultato di directory specificata.
Salvarlo locale quindi eseguirlo nella PS => File => Comando => Sfoglia
P.S ho trovato nel commento diceva lo script può essere eseguito direttamente con un doppio clic da Mac Finder o Windows Explorer.
Hai provato a usare Photoshop azioni? Io non faccio ora circa la parte di scansione, ma il resto può essere fatto da azioni abbastanza facilmente.