Verwendung der InDesign-Bibliotheken.
Verwendung der InDesign-Bibliotheken. Öffnen und Schließen von InDesign®-Bibliotheken. Bibliotheksinhalte (Assets) können an beliebigen Stellen in Dokument eingesetzt werden.
static Library library::open(char* path)
Öffnen einer Bibliotheksdatei. Die Bibliothek darf bereits geöffnet sein.
Name | Typ | Default | Beschreibung |
Return | Library | Geöffnete Bibliothek oder 0 | |
path | String oder char* | - | Pfad der Bibliotheksdatei. Ist der Pfad nicht vollständig, wird "neben" dem aktuellen Frontdokument gesucht. |
static int library::close(Library lib, int slot = 0)
Schließen einer Bibliothek. Alles im Skript definierten Inhalte (Assets) dieser Bibliothek werden dadurch ungültig.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
lib | Library | - | Mit library::open erhaltener Zeiger einer geöffneten Bibliothek |
static int library::count_assets(Library lib)
Anzahl der Einträge einer Bibliothek.
Name | Typ | Default | Beschreibung |
Return | int | <=0 : Fehler >0 : Anzahl der Einträge in der Bibliothek |
|
lib | Library | - | Mit library::open erhaltener Zeiger einer geöffneten Bibliothek |
Schreibe Infos für alle Einträge einer Bibliothek ins Logfile. Achten Sie darauf, das mit get_nth geholte Asset am Ende jeder Schleife wieder freizugeben!
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); Asset asset = 0; int i;
if (!lib) { showerror ("Cannot open library"); return 0; }
for (i = 0; i < library::count_assets (lib); i++) { asset = library::asset::get_nth (lib, i);
wlog ("", "# Asset %d\n", i+1); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset); }
return 0; }
static char* library::get_path(Library lib)
Vollständiger Pfad einer geöffneten Bibliothek.
Name | Typ | Default | Beschreibung |
Return | char* | Vollständiger Pfad einer Bibliothek "" : Im Fehlerfall Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen. |
|
lib | Library | - | Referenz auf eine geöffnete Bibliothek |
Öffne eine Bibliothek. Die Bibliothek wird danach in einer eigenen Bibliothekspalette gezeigt.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl");
if (lib) wlog ("", "# Libpath : '%s'\n", library::get_path (lib));
return 0; }
static Asset library::add_asset(Library lib, ItemList frames)
Anlegen eines neuen Bibliothekseintrag. Benutzen Sie die library::asset::set_-Funktionen um die Metadaten des neuen Eintrages festzulegen.
Name | Typ | Default | Beschreibung |
Return | Asset | Neu angelegte Referenz auf einen Bibliothekseintrag. Die Referenz sollte mit library::asset::release wieder gelöscht werden, wenn sie vom Skript nicht mehr benötigt wird. | |
lib | Library | - | Referenz zeiner geöffneten Bibliothek |
frames | ItemList | - | Gültige und nichtleere Liste von Dokumentrahmen einer Seite |
Füge einer Biblithek die aktuelle Rahmenauswahl des Dokumentes als neuen Eintrag hinzu.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); ItemList frames = itemlist::selected (); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::add_asset (lib, frames); wlog ("", "# Add asset %d\n", asset);
library::asset::set_name (asset, "Mein neues Asset"); library::asset::set_description (asset, "Das Asset wurde mit Hilfe von cScript angelegt.");
library::asset::release (asset);
return 0; }
static Asset library::asset::get(Library lib, char* name)
Hole einen Bibliothekseintrag. Die Eintrag wird über seinen Namen identifiziert. Namesangaben werden case-insensitiv ausgewertet. InDesign® erlaubt Bibliothekseinträge mit gleichen Namen. Sie sollten hier nur Bibliotheken verwenden, in denen die Einträge eindeutige Namen haben.
Name | Typ | Default | Beschreibung |
Return | Asset | Neu angelegte Referenz auf einen Bibliothekseintrag. Die Referenz muss mit library::asset::release wieder gelöscht werden, wenn sie vom Skript nicht mehr benötigt wird. | |
lib | Library | - | Referenz auf eine geöffnete Bibliothek |
name | String oder char* | - | Name des Eintrages. Der Eintrag wird case-insensitiv gesucht. InDesign®-Bibliotheken können mehrere Einträg gleichen Namens beinhalten. |
So kann ein Bibliothekseintrag verwendet werden.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
// // your code //
library::asset::release (asset); return 0; }
static int library::get_nth(Library lib, int n)
Hole den n-ten Eintrag einer Bibliothek.
Name | Typ | Default | Beschreibung |
Return | Asset | Neu angelegte Referenz auf einen Bibliothekseintrag. Die Referenz muss mit library::asset::release wieder gelöscht werden, wenn sie vom Skript nicht mehr benötigt wird. | |
lib | Library | - | Mit library::open erhaltener Zeiger einer geöffneten Bibliothek |
n | int | - | 0-basierter Index. Die Einträge einer Bibliothek sind nach ihrem Erstellungsdatum sortiert. |
Schreibe Infos für alle Einträge einer Bibliothek ins Logfile. Achten Sie darauf, das mit get_nth geholte Asset am Ende jeder Schleife wieder freizugeben!
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); Asset asset = 0; int i;
if (!lib) { showerror ("Cannot open library"); return 0; }
for (i = 0; i < library::count_assets (lib); i++) { asset = library::asset::get_nth (lib, i);
wlog ("", "# Asset %d\n", i+1); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset); }
return 0; }
static Library library::asset::get_lib(Asset ast)
Zu welcher Bibliothek gehört ein Bibliothekseintrag?
Name | Typ | Default | Beschreibung |
Return | Library | Referenz auf die Bibliothek des Eintrages. | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
static int library::asset::release(Asset ast)
Löschen die Referenze eines Bibliothekseintrages aus dem Speicher. Der Bibliothekseintrag selbst bleibt dabei natürlich erhalten.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
static int library::asset::place(
Asset ast,
ItemRef docRef,
int pg,
char* layer = "",
float x = 0.0,
float y = 0.0,
ItemList inserted = 0)
Platziere einen Bibliothekseintrages.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
docRef | ItemRef | - | Zieldokument 0 : aktuelles Frontdokument |
pg | int | - | Zielseite (1-basiert) |
layer | String oder char* | 0 | Zielebene |
x, y | float, float | 0.0, 0.0 | Position in Punkten |
inserted | ItemList | 0 | Liste der eingefügten Rahmen. 0 : Liste nicht abholen sonst : allokierte ItemList (itemlist::alloc) |
Platziere einen Bibliothekseintrag im Dokument.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0; int pg = 1; char * layer = "My layer"; float x = 123.45; float y = 78.9; ItemList inserted = itemlist::alloc ();
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::place (asset, 0, pg, layer, x, y, inserted);
library::asset::release (asset);
return 0; }
static char* library::asset::get_name(Asset ast)
Namen eines Bibliothekseintrages holen.
Name | Typ | Default | Beschreibung |
Return | char* | Name des Bibliothekseintrags "" : Im Fehlerfall Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen. |
|
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
Schreibe einige Infos über einen Bibliothekseintrag ins Logfile.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
wlog ("", "# Libpath : '%s'\n", library::get_path (lib)); wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static int library::asset::set_name(Asset ast, char* new_name)
Namen eines Bibliothekseintrages ändern.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
new_name | String oder char* | - | Neuer Name des Bibliothekseintrages |
Namen eines Bibliothekseintrages ändern.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::set_name (asset, "New name");
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static char* library::asset::get_description(Asset ast)
Beschreibung eines Bibliothekseintrages holen.
Name | Typ | Default | Beschreibung |
Return | char* | Beschreibung des Bibliothekseintrags "" : Im Fehlerfall Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen. |
|
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
Schreibe einige Infos über einen Bibliothekseintrag ins Logfile.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
wlog ("", "# Libpath : '%s'\n", library::get_path (lib));
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static int library::asset::set_description(Asset ast, char* new_descr)
Beschreibung eines Bibliothekseintrages ändern.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
new_descr | String oder char* | - | Neuer Beschreibungstext des Bibliothekseintrages |
Beschreibung eines Bibliothekseintrages ändern.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::set_description (asset, "New descr");
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static int library::asset::get_usertype(Asset ast)
Hole den Typ eines Bibliothekseintrages holen.
Name | Typ | Default | Beschreibung |
Return | int | -1 : Fehler 0 : Bild 1 : EPS 2 : PDF 3 : Geometrie 4 : Seite 5 : Text 6 : Struktur 7 : InDesign®-Datei |
|
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
Schreibe einige Infos über einen Bibliothekseintrag ins Logfile.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
wlog ("", "# Libpath : '%s'\n", library::get_path (lib));
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static int library::asset::set_usertype(Asset ast, int newType)
Benutzertyp eines Bibliothekseintrages ändern.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
newType | int | - | Neuer Benutzertyp des Bibliothekseintrages 0 : Bild 1 : EPS 2 : PDF 3 : Geometrie 4 : Seite 5 : Text 6 : Struktur 7 : InDesign®-Datei |
Benutzertyp eines Bibliothekseintrages ändern.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
> if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::set_usertype (asset, 1);
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static char* library::asset::get_creationtime(Asset ast, int fmt)
Wann wurde ein Bibliothekseintrag angelegt?
Name | Typ | Default | Beschreibung |
Return | char* | Anlegezeitpunkt des Bibliothekseintrags "" : Im Fehlerfall Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen. |
|
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
fmt | int | - | Datum/Uhrzeif-Formatierung systemabhängige Darstellung kShortDate (= 0) kLongDate (= 1) kAbbrevDate (= 2) kShortTime (= 20) kLongTime (= 36) kShortDateTime (= 16) kLongDateTime (= 17) kAbbrevDateTime (= 18) kShortDateLongTime (= 32) kLongDateLongTime (= 33) kAbbrevDateLongTime (= 34) Systemunabhängige Darstellung ddmmyyyy (= 96) ddmmyyyy_hhmm (= 97) ddmmyyyy_hhmmss (= 98) dmyy (= 99) hhmm (= 100) hhmmss (= 101) hmm (= 102) hmmss (= 103) |
Schreibe einige Infos über einen Bibliothekseintrag ins Logfile.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
> if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
wlog ("", "# Libpath : '%s'\n", library::get_path (lib));
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static int library::asset::set_creationtime(Asset ast, char* dt)
Erstellugsdatum eines Bibliothekseintrages ändern.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
⇨ Datum als String | |||
dt | String oder char* | - | Gültiger Datumsstring |
⇨ Datumskomponenten | |||
d, m, y | int, int, int | - | Tag, Monat, Jahr |
h, mm, s | int, int, int | - | Stunde, Minute, Sekunde |
Erstellugsdatum eines Bibliothekseintrages ändern.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
> if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::set_creationtime (asset, 26, 11, 2008, 19, 10, 12);
wlog ("", "# Asset-Infos\n"); wlog ("", "# Name : %s\n", library::asset::get_name (asset)); wlog ("", "# Descr : %s\n", library::asset::get_description (asset)); wlog ("", "# Usertype : %d\n", library::asset::get_usertype (asset)); wlog ("", "# Creation : %s\n", library::asset::get_creationtime (asset, 98));
library::asset::release (asset);
return 0; }
static Image library::get_preview(Asset ast, int sz = 200)
Hole das Preview eines Bibliothekseintrages. Zum Erzeugen des Previews muss ein Dokument geöffnet sein.
Name | Typ | Default | Beschreibung |
Return | Image | Neu erzeugte Bildreferenz mit dem Preview des Eintrages oder 0 im Fehlerfall Erzeugte Bildobjekt müssen mit image::release wieder aus dem Speicher entfernt werden. |
|
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
sz | int | 200 | Größe des Previews in Pixeln 0 : Originalgröße |
Preview eines Bibliothekseintrages als JPG-Datei sichern.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); Asset asset = 0; Image img = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
img = library::asset::get_preview (asset, 500); if (img) { image::save (img, "$DESKTOP/aaa/bbb/My Asset.jpg", 1); image::release (img); }
library::asset::release (asset);
return 0; }
static int library::asset::update(Asset ast, ItemList frames)
ändern des Inhaltes eines Bibliothekseintrages.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
frames | ItemList | - | Gültige und nichtleere Liste von Dokumentrahmen einer Seite |
Setze die aktuelle Rahmenauswahl als Inhalt eines bestehenden Bibliotghekseintrages.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); ItemList frames = itemlist::selected (); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::update (asset, frames);
library::asset::release (asset);
return 0; }
static int library::asset::copy(Asset ast, Library dest_lib)
Kopiere einen Bibliothekseintrag in eine andere Bibliothek. Beachten Sie, das die Namen in InDesign®-Bibliotheken nicht eindeutig sein müssen. Wenn Sie nur eindeutige Namen haben wollen, müssen Sie das im Skript sicherstellen.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
dest_lib | Library | - | Zielbibliothek |
Kopiere einen Bibliothekseintrag in eine andere Bibliothek.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); Library lib_dest = library::open ("$DESKTOP/Bibliothek.indl"); Asset asset = 0;
if (!lib || !lib_dest) { showerror ("Cannot open library"); return 0; }
asset = library::asset::get (lib, "My Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::copy (asset, lib_dest);
library::asset::release (asset);
return 0; }
static int library::asset::remove(Asset ast)
Löschen eines Bibliothekseintrages aus seiner Bibliothek. Die Aktion kann nicht rückgängig gemacht werden.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
ast | Asset | - | Gültige Referenz auf einen Bibliothekseintrag |
Löschen eines Bibliothekseintrages aus seiner Bibliothek.
int main () { Library lib = library::open ("$DESKTOP/Bibliothek2.indl"); Asset asset = 0;
if (!lib) { showerror ("Cannot open library"); return 0; } asset = library::asset::get (lib, "Mein Asset"); if (!asset) { showerror ("Asset not in library"); return 0; }
library::asset::remove (asset); library::asset::release (asset);
return 0; }
Alphabetic index HTML hierarchy of classes or Java