jensgebken
Goto Top

Photoshop - druck aller gruppen als pdf

Hallo Gemeinschaft,

habe eine ps datei in der ich viele Gruppen gebildet habe mit unterschiedlichen Layouts

ist es möglich durch eine Art Action jede einzelne Gruppe als separate Datei (pdf) zu drucken

Content-Key: 397063

Url: https://administrator.de/contentid/397063

Printed on: April 19, 2024 at 12:04 o'clock

Mitglied: 137846
137846 Jan 03, 2019 updated at 08:25:50 (UTC)
Goto Top
Nennt sich Ebenenkomposition.
https://helpx.adobe.com/de/photoshop/using/layer-comps.html#export_layer ...
Für das automatische Speichern der Kompositionen siehe Abschnitt "Export" im Link, damit geht es dann in einem Rutsch für alle angelegten Kompositionen.

Gruß A.
Member: colinardo
Solution colinardo Jan 03, 2019 updated at 10:55:29 (UTC)
Goto Top
Servus @jensgebken ,
falls du deine Layer nicht schon als Ebenenkompositionen (.s @137846) angelegt hast sondern in den Ebenen nur mit Ordnern gruppiert hast

screenshot

und die anderen Ordner währenddessen ausgeblendet hast kannst du folgendes Photoshop JavaScript hernehmen um alle Ordner-Gruppen der ersten Ebene in separate PDF Dateien zu exportieren:
Im Skript Aazupassen ist die Variable pathExport, die den Export-Pfad für die PDF-Dateien festlegt (bitte nur Slashes verwenden, keine Backslashes).
Wenn spezielle PDF Export-Optionen gewünscht sind, müssen diese im Objekt pdfoptions angegeben werden (s. Referenz Link in den Kommentaren).
Als Name für die PDF-Datei wird der Name des Gruppen-Ordners(Layers) verwendet, dieser sollte also keine Sonderzeichen besitzen die für Dateien ungültig sind und einmalig sein (auf Behandlung dieser Fälle habe ich aus Übersichtsgründen hier verzichtet, Anpassung kann selbstverständlich jeder für sich vornehmen).
// verarbeite aktives Dokument
var doc = app.activeDocument;
// Export-Pfad für die PDF Dateien
var pathExport = 'D:/temp';  
// PDF Export-Optionen 
// (s. Photoshop JavaScript API Reference: 
// https://www.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/Photoshop-CS6-JavaScript-Ref.pdf
var pdfoptions = new PDFSaveOptions();
// alle Layer unsichtbar schalten
for (var i = 0; i < doc.layers.length;i++){
    doc.layers[i].visible = false;
}
// Für alle Ordner-Gruppen der ersten Ebene
for (var i = 0; i < doc.layers.length;i++){
    // Layer sichtbar schalten
    doc.layers[i].visible = true;
    // Export-Datei aus Export-Pfad + Name des Ordnersets und der Extension .pdf zusammensetzen
    var fSave = new File(pathExport + '/' + doc.layers[i].name + '.pdf') ;  
    // Speichern
    doc.saveAs(fSave, pdfoptions, true);
    doc.layers[i].visible = false;
 }
// END
alert("Finished export.");  
Wie du solche Skripte in Photoshop verwendest kannst du in der einschlägigen Adobe Doku nachschlagen.
https://helpx.adobe.com/de/photoshop/using/scripting.html

Viel Spaß
Grüße Uwe

' edit Code noch etwas optimiert.
Member: jensgebken
jensgebken Jan 03, 2019 at 10:41:08 (UTC)
Goto Top
hallo uwe - genauso sieht es bei mir aus wie du beschrieben hast - jetzt versuche ich das mit deinem script zu probieren
Member: jensgebken
jensgebken Jan 03, 2019 at 10:49:50 (UTC)
Goto Top
klappt leider nicht - habe dein script genommen und als js gespeichert - dann über load in ps eingelesen

leider werden keine dateien erstellt
Member: colinardo
colinardo Jan 03, 2019 updated at 11:04:58 (UTC)
Goto Top
Wurde hier einwandfrei mit PS CC getestet. Bitte alle Kommentare (vor allem die zum Pfad und Export-Optionen) lesen.
Member: colinardo
Solution colinardo Jan 03, 2019 updated at 11:05:15 (UTC)
Goto Top
Btw. kennst du folgende Funktion? Die macht genau dasselbe auch (wenn du vorher alle Ebenen sichtbar machst) und ist schon in Photoshop integriert für alle die des Skriptens nicht mächtig sind:

screenshot

screenshot
Mitglied: 137846
137846 Jan 03, 2019 updated at 11:15:44 (UTC)
Goto Top
Zitat von @jensgebken:

klappt leider nicht - habe dein script genommen und als js gespeichert - dann über load in ps eingelesen

leider werden keine dateien erstellt
Zur Info: Hab's hier mal schnell testweise in ein CC 2019 rein geworfen, klappt perfekt.

p.s. Über den Dialog den @colinardo genannt hat geht's so nat. auch sehr komfortabel.

Case closed.
Member: jensgebken
jensgebken Jan 03, 2019 at 11:54:10 (UTC)
Goto Top
ah - okay - dann ist meine version CS3 zu alt und geht somit leider nicht
Member: colinardo
colinardo Jan 03, 2019 updated at 12:09:28 (UTC)
Goto Top
Zitat von @jensgebken:

ah - okay - dann ist meine version CS3 zu alt und geht somit leider nicht
Doch das geht auch mit CS3. Laut API Doku sind alle vom Skript benutzten Objekte dort auch schon nutzbar.
https://www.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/pho ...

Auf Anfrage teste ich das gerne nochmal mit CS3, gegen Aufwandsentschädigung. Ich schätze aber du hast im Pfad einen Fehler gemacht.
Member: jensgebken
jensgebken Jan 03, 2019 at 12:10:32 (UTC)
Goto Top
lieben dank für deine hilfe und dein angebot - leider kann ich dafür kein geld ausgeben - vielleicht finde ich ja etwas im netz dazu -- trotzdem lieben dank nochmal
Member: colinardo
Solution colinardo Jan 03, 2019 updated at 12:39:41 (UTC)
Goto Top
Hast du meinen Beitrag oben nicht gelesen?
Die Option über den in Photoshop integrierten Dialog über Datei > Skripten > Ebenen in Dateien exportieren hast du auch in CS3!!

Hab mal schnell ein CS3 aus einer alten VM ausgegraben, Test mit meinem Skript von oben durchgeführt, funktioniert einwandfrei. Du musst also bei der Anpassung einen Fehler eingebaut haben, oder Ordnernamen sind nicht konform(s. Kommentare). Nimm dir das Adobe ExtendScript Toolkit und mach ein Debug.

Hier der Nachweis der Funktion mit CS3:

screenshot

Und wie oben bereits erwähnt gibt es die in Photoshop integrierte Variante auch in CS3

screenshot

Du hast also alles was du brauchst!

Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.
Member: jensgebken
jensgebken Jan 03, 2019 updated at 12:44:48 (UTC)
Goto Top
verarbeite aktives Dokument

var doc = app.activeDocument;

Export-Pfad für die PDF Dateien

var pathExport = 'c:/data/siren/datei';

PDF Export-Optionen

(s. Photoshop JavaScript API Reference:

https://www.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/Pho ...

var pdfoptions = new PDFSaveOptions();

Für alle Ordner-Gruppen der ersten Ebene

for (var i = 0; i < doc.layers.length;i++){

Layer sichtbar schalten

doc.layers[i].visible = true;

alle anderen Layer außer dem aktuellen unsichtbar schalten

for (var y = 0; y < doc.layers.length;y++){

if (y != i){

doc.layers[y].visible = false;

}

}

Export-Datei aus Export-Pfad + Name des Ordnersets und der Extension .pdf zusammensetzen

var fSave = new File(pathExport + "/" + doc.layers[i].name + '.pdf') ;

Speichern

doc.saveAs(fSave, pdfoptions, true);

}

// END

alert("Finished export.");
Mitglied: 137846
137846 Jan 03, 2019 updated at 13:31:17 (UTC)
Goto Top
Guck dir das Skript von oben doch mal an, du hast sämtliche Kommentarstriche entfernt ... wie soll das dann, Koppschüttel ...
Member: jensgebken
jensgebken Jan 03, 2019 at 13:33:54 (UTC)
Goto Top
ah - sorry - sind hier nicht übernommen worden - im richtigen js script sind sie drin
Mitglied: 137846
137846 Jan 03, 2019 updated at 13:44:22 (UTC)
Goto Top
Les mal das letzte Kommentar von @colinardo zum ScriptToolkit ! Da steht alles drin was du brauchst und vor allem die Kommentare im Skript.
Und wenn du es gelesen hättest bräuchtest du das Skript ebenfalls auch nicht mehr.
Leute gibt's, schon mundgerecht serviert reicht schon nicht mehr...echt armselig.
Member: jensgebken
jensgebken Jan 03, 2019 at 14:12:01 (UTC)
Goto Top
nu hab ich den fehler gefunden - bei kleinen dateien geht es - meine ist 750 mb gross und dann geht es nicht mehr
Mitglied: 137846
137846 Jan 03, 2019 updated at 14:15:21 (UTC)
Goto Top
Dann ist deine Kiste zu lahm und hat zu wenig Speicher. Btw. dein gepostet. Skript stimmt offensichtlich nicht mehr mit dem obigen überein.
Member: jensgebken
jensgebken Jan 03, 2019 updated at 14:35:09 (UTC)
Goto Top
hier nochmal das script - aber es wird wohl daran liegen, dass der pc es nicht hinbekommt - trotzdem - lieben dank für deine hilfe
// verarbeite aktives Dokument

var doc = app.activeDocument;

// Export-Pfad für die PDF Dateien

var pathExport = 'c:/data/siren/datei';  

// PDF Export-Optionen 

// (s. Photoshop JavaScript API Reference: 

// https://www.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/Photoshop-CS6-JavaScript-Ref.pdf

var pdfoptions = new PDFSaveOptions();

// alle Layer unsichtbar schalten

for (var i = 0; i < doc.layers.length;i++){

    doc.layers[i].visible = false;

}

// Für alle Ordner-Gruppen der ersten Ebene

for (var i = 0; i < doc.layers.length;i++){

    // Layer sichtbar schalten

    doc.layers[i].visible = true;

    // Export-Datei aus Export-Pfad + Name des Ordnersets und der Extension .pdf zusammensetzen

    var fSave = new File(pathExport + '/' + doc.layers[i].name + '.pdf') ;  

    // Speichern

    doc.saveAs(fSave, pdfoptions, true);

    doc.layers[i].visible = false;

 }

// END

alert("Finished export.");  
Mitglied: 137846
137846 Jan 03, 2019 updated at 14:44:05 (UTC)
Goto Top
Und wieso machst du es dann nicht über die integrierte Funktion in PS?
Oder geht die etwa mit deinem Dok auch nicht?
Und was sagt der Toolkit Debugger? Der muss ja eine Fehlermeldung bringen.
Member: jensgebken
jensgebken Jan 03, 2019 at 14:51:58 (UTC)
Goto Top
mit der integrierten funktion ist es genauso

mit dem tool kommt folgende meldung
error 21undefinedis not an object
Line 29
Mitglied: 137846
137846 Jan 03, 2019 updated at 14:57:08 (UTC)
Goto Top
Dann ist dein Dok im ArXXX. oder du brauchst eben einen moderneren Rechner mit mehr Bums.

Das liegt dann nicht mehr in unserem Einflussbereich!
Mitglied: 137846
137846 Jan 04, 2019 updated at 08:08:45 (UTC)
Goto Top
Hmm, wieso markierst du den letzten Kommentar als Lösung des Beitrags? Für mich gebührt das eher dem Skript und den genannten Lösungen von @colinardo weiter oben.
Member: jensgebken
jensgebken Jan 04, 2019 at 08:26:57 (UTC)
Goto Top
geändert - danke