Sie können InDesign per Script anweisen, die Dateiinformation immer beim Speichern automatisch auszufüllen. Kopieren Sie dieses Script einfach in den Texteditor Ihrer Wahl:
//MetadataBeforeSafe.jsx
//An InDesign CS3 JavaScript
#targetengine "session"
//Creates a simple event listener.
main();
function main()
{
var myEventListener1 = app.addEventListener("beforeSave", setMetadata, false);
var myEventListener2 = app.addEventListener("beforeSaveAs", setMetadata, false);
}
function setMetadata()
{
app.activeDocument.metadataPreferences.author = "Gunther S. Gurkengabel";
app.activeDocument.metadataPreferences.copyrightNotice = "gehoert: Hubert P. Honighobel";
app.activeDocument.metadataPreferences.keywords = ["Katafrakt", "Kolfaktor", "Kekskrümel"];
app.activeDocument.metadataPreferences.description = "Detlef R. Düsterdoktor dengelte dies Dokument durch";
app.activeDocument.metadataPreferences.documentTitle = "Millionen von Metadaten";
}
Löschen Sie die Zeilen, die Sie nicht brauchen und tauschen ansonsten die Angaben aus. Speichern Sie das Script in den Ordner "Scripts/Startup Scripts" von InDesign und starten Sie InDesign neu.
Es kann sein, dass Sie den Ordner "Startup Scripts" erst noch selbst anlegen müssen und zwar im Unterverzeichnis "Scripts" des Programmordners.
Das war‘s
Metadaten automatisch, aber konditional
Martin Fischer machte mich darauf aufmerksam, dass das obige Script die Metadaten grundsätzlich und jedesmal übernagelt. Das macht es unmöglich, eine fremde Datei guten Gewissens zu bearbeiten.
Dieses Script nun prüft erst, ob in einem der Felder author, keywords, documentTitle, description, copyrightNotice, copyrightInfoURL, jobName etwas eingetragen ist, und schreibt nur, wenn alle leer sind.
//MetadataBeforeSafe_v2.jsx
//An InDesign CS3 JavaScript
#targetengine "session"
//Creates a simple event listener.
main();
function main()
{
var myEventListener1 = app.addEventListener("beforeSave", setMetadata, false);
var myEventListener2 = app.addEventListener("beforeSaveAs", setMetadata, false);
}
function setMetadata()
{
if (app.activeDocument.metadataPreferences.author == "")
if (app.activeDocument.metadataPreferences.keywords.length == 0)
if (app.activeDocument.metadataPreferences.documentTitle == "")
if (app.activeDocument.metadataPreferences.description == "")
if (app.activeDocument.metadataPreferences.copyrightNotice == "")
if (app.activeDocument.metadataPreferences.copyrightInfoURL == "")
if (app.activeDocument.metadataPreferences.jobName == "") {
app.activeDocument.metadataPreferences.author = "Gunther S. Gurkengabel";
app.activeDocument.metadataPreferences.keywords = ["Katafrakt", "Kolfaktor", "Kekskrümel"];
app.activeDocument.metadataPreferences.documentTitle = "Millionen von Metadaten";
app.activeDocument.metadataPreferences.description = "Detlef R. Düsterdoktor dengelte dies Dokument durch";
app.activeDocument.metadataPreferences.copyrightNotice = "gehoert: Hubert P. Honighobel";
app.activeDocument.metadataPreferences.copyrightInfoURL = "http://www.wasndas.wa";
app.activeDocument.metadataPreferences.jobName = "Tausend-Tumult-Test-Projekt";
// app.activeDocument.metadataPreferences.copyrightStatus = CopyrightStatus.NO;
// app.activeDocument.metadataPreferences.copyrightStatus = CopyrightStatus.UNKNOWN;
app.activeDocument.metadataPreferences.copyrightStatus = CopyrightStatus.YES;
}
}
Auch noch der Dokumenttitel?
Und eben kam noch ein Variationswunsch rein: Den Dokumenttitel macht in bestimmten Kontexten nur nach dem Speichern Sinn, wenn der Dateiname da rein soll.
Das braucht natürlich ein anderes Script. Aber Vorsicht: dieses schreibt ohne Bedingung immer den Dateinamen und den Dateipfad in die Metadaten rein!
//MetadataTitleAfterSafe.jsx
//An InDesign CS3 JavaScript
#targetengine "gs_metaAfterSave"
//Creates a simple event listener.
main();
function main()
{
var myEventListener1 = app.addEventListener("afterSave", setMetadata, false);
var myEventListener2 = app.addEventListener("afterSaveAs", setMetadata, false);
}
function setMetadata()
{
app.activeDocument.metadataPreferences.documentTitle = app.activeDocument.name.replace(/\.indd$/,"");
app.activeDocument.metadataPreferences.description += "\rPfad: " + app.activeDocument.fullName.toString();
}
Neueste Kommentare
vor 1 Woche 1 Tag
vor 1 Woche 2 Tage
vor 1 Woche 2 Tage
vor 1 Woche 3 Tage
vor 2 Wochen 13 Stunden
vor 2 Wochen 3 Tage
vor 3 Wochen 5 Stunden
vor 4 Wochen 1 Tag
vor 8 Wochen 4 Tage
vor 9 Wochen 2 Tage