Ich habe 6 verschiedene Logos die jeweils einzeln gespeichert werden können
Gibt es dafür ein Script oder muss ich das manuell machen?
Vielleicht ist das nicht die perfekte Antwort, aber Kommentare hatten einfach nicht genug Platz dafür.
Um mit der Skripterstellung zu beginnen, ist der erste Ort, an dem Sie nachsehen möchten, wahrscheinlich die Illustrator-Referenzwebsite für Skripterstellung . Wenn Sie dort das Referenz-PDF für javascript
. Sie finden eine Liste von Methoden und einige Beispielskripte.
Wenn Sie nach: " exporting to
" suchen und durch die Suchergebnisse blättern, finden Sie Skriptbeispiele zum Exportieren des aktuellen Dokuments in verschiedene Formate. Die anderen beiden Suchbegriffe wären „ saving to
“ und „ saving with
“. Mit diesen Beispielskripten kommen Sie dem, was Sie suchen, ziemlich nahe.
Oberhalb dieser Beispielskripte finden Sie die Export- und Speichereigenschaften.
Außerdem ist dies eine gute Ressource und manchmal viel besser als die "offizielle" Referenz. Dies kann schwierig zu navigieren sein, also google ich normalerweise nur Sachen wie " jongware illustrator document
" oder " jongware illustrator pdfsaveoptions
". @Jongware, du bist mein Held <3
Kommen wir nun zurück zum Einrichten des Skripts
Wenn Sie eines dieser Beispielskripts aus der Referenzdatei fürjavascript
erhalten und es in eine .jsx-Datei stecken und ausführen, wird nichts passieren. Sie müssen die Funktion wie folgt aufrufen:
Hier ist die saveFileToPDF
Funktion, die Sie dort finden können
Ich habe gerade diese erste Zeile unten hinzugefügt. Offensichtlich müssen Sie Ihren eigenen Pfad verwenden.
saveFileToPDF("/Users/joonas/Desktop/file.pdf");
// Saves the current document as PDF to dest with specified options
// dest contains the full path and file name to save to
function saveFileToPDF(dest) {
var doc = app.activeDocument;
if ( app.documents.length > 0 ) {
var saveName = new File ( dest );
saveOpts = new PDFSaveOptions();
saveOpts.compatibility = PDFCompatibility.ACROBAT5;
saveOpts.generateThumbnails = true;
saveOpts.preserveEditability = true;
doc.saveAs( saveName, saveOpts );
}
}
Damit speichert das Skript Ihr aktuelles Dokument als PDF-Datei mit jeder Zeichenfläche als separate Seite.
Wenn Sie sich nun die Beispielskripte für jedes Dateiformat, das Sie speichern möchten, besorgen und die Funktionen wie oben gezeigt aufrufen, haben Sie schnell ein Skript, das das aktuelle Dokument in beliebig vielen Formaten speichert.
JPG- und PNG-Formate können die Dinge etwas komplizieren, wenn Sie so etwas wie das tun möchten, was ich in meinem Kommentar erklärt habe: Erstellen Sie die verschiedenen Farboptionen manuell in verschiedenen Zeichenflächen und führen Sie dann das Skript aus. Nun, keines dieser Formate unterstützt die Eigenschaft artboardRange
beim Exportieren. Das bedeutet, dass nur eine Datei mit dem gesamten Inhalt des Dokuments gespeichert wird. Du kannst es aber umgehen:
Ich habe die „ exportFile
“-Methode im Grunde in eine for-Schleife gepackt, die Dateibenennung geändert und die „ fileSpec
“-Variable entfernt. Ich habe auch die artBoardClipping
Eigenschaft " " hinzugefügt. Mit diesen Änderungen sollte das Skript speichern und file1.jpg
vorausgesetzt , Sie haben 3 Zeichenflächen.file2.jpg
file3.jpg
exportFileToJPEG("/Users/joonas/Desktop/file");
// Exports current document to dest as a JPEG file with specified
// options, dest contains the full path including the file name
function exportFileToJPEG (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsJPEG();
var type = ExportType.JPEG;
// var fileSpec = new File(dest);
exportOptions.artBoardClipping = true; // If true, the exported image should be clipped to the artboard.
exportOptions.antiAliasing = true;
exportOptions.qualitySetting = 100;
// Gets the length (amount) of artboards in the current document.
var artboard_length = app.activeDocument.artboards.length;
// Loop that runs the code as many times as there are artboards...
for (var i = 0; i < artboard_length; i++ ) {
// Set the active artboard based on the loop number
app.activeDocument.artboards.setActiveArtboardIndex(i);
// Exports the current artboard as a jpeg file
app.activeDocument.exportFile( new File( dest + (i+1) + ".jpg" ), type, exportOptions );
}
}
}
Nehmen wir nun an, Sie wollten den aktuellen Dokumentnamen als Basis für die Dateinamen verwenden, Sie könnten eine Variable wie diese oben im Dokument verwenden:
var docName = app.activeDocument.name.split('.')[0];
... und dann könntest du es so verwenden:
exportFileToJPEG("/Users/joonas/Desktop/" + docName );
Joonas