Ich wiil in Indesign eine Automatische Legende erstellen. Dabei ist es wichtig die genaue Position eines plazierten Bildes zu kennen. Nach langer Suche habe ich dieses Skript gefunden.
Ich erhalte hier die Position des Bildes. Wie kann ich die Position des Rahmens der das Bild enthält auslesen?
Wie Hans-Gerd schon erklärt hat, ist der Rahmen, welcher das Bild enthält, dessen parent.
Alles was es braucht ist, in Deiner Zeile ein parent einzufügen:
Aber weil die Rahmen mit frame bezeichnet werden, ist es besser, diesen Ausdruck zu verwenden (statt box).
Es schadet nicht, das Anzeigen der Dialoge zu aktivieren. Und die Prüfung, ob ein Dokument geöffnet ist, habe ich auch wieder reingemacht.
Nicht ganz klar ist der Ablauf. Willst Du für jedes Bild den Code editieren? Wäre es nicht besser, eine Liste der Bildnamen zu verwenden? Oder wenigstens einen Dialog, mit welchem der Name eingegeben werden kann.
Und definitif ist besser, die erhaltenen Werte an Variablen zu übergeben (wie hier gezeigt). Dann können sie zur Erzeugung des Bildunterschrift-Rahmens verwendet werden.
Mein Ziel ist es: Die Verküpfungsliste auszulesen. Die Liste in einem Dropdown-Menu anzuzeigen in der die Datei mit "Legende" im Namen vorausgewält ist. Die Legende ist ein EPS mit den Standartelementen. Mein Skript soll nun die Sonderfarben in einer bestimmten Art und Weise über das EPS legen, so das eine komplette Legende mit Sonderfarben etc. entsteht. Dazu brauche ich die genaue Position des platieren EPS. Natürlich soll es auch eine User-Schnittstelle geben.
Ob nur *eine* Datei plaziert ist, welche "Legende" im Namen hat, oder mehrere: Das Script könnte diese doch selbständig aufspüren und die Sonderfarben darüberlegen.
Ich würde gerne helfen. Dazu sollte ich aber zwei Dokumente bekommen (vorher/nacher) und eine Schilderung des Ablaufs.
der erste Screenshot zeitgt eine leere Legende,die plazierten Bilder und die Farbpallette.
Hier kommt dann mein Script zum Zug. Das Script soll die Bilderliste durchsuchen nach Dateien die das Wort Legende enthalten. Bei Mehrfachergebnis soll der User die richtige Datei auswähren.
Die Sonderfarben werden in einer Tabelle zur Auswahl gestellt da nur die Farben in der Legende erscheinen sollen die wirklich gedruckt werden. Danach werden die Felder aus dem 2. Screenshot gezeichnet.
Danke für dein Angebot mir bei der Scripterei zu helfen. Meine JavaScript-Kenntnisse sind noch sehr bescheiden. Ich möchte es gern selbst versuchen und mich dann wieder hier in Forum melden wenn es mal wieder nicht weiter geht. Ich denke das steigert den Lerneffekt.
Über Vorschläge,Ideen und Tips würde ich mich trotzdem freuen.
okay. Hier dennoch ein "coup de pouce", ein Schubs mit dem Daumen (wie wir hier in Lausanne sagen): Der Anfang des Scripts. Die Namen der Bilder werden aufgelistet.
Der Alert, der die Namen einzeln anzeigt und dahinter den Index, dient nur zum Verständnis und muss entfernt werden, sobald alles klar ist.
Mit 'indexOf' wird die Position einer Textkette (hier "egende") innerhalb einer anderen Textkette (hier der Bildname) festgestellt. Wenn das Ergebnis -1 ist, dann ist die gesuchte Textkette nicht enthalten. Deshalb wird der Operator != (ist nicht) verwendet: Wenn das Ergebnis nicht minus eins ist, dann hänge den Namen an den Array.
Es bleibt noch viel zu tun. Die nächste Etappe wird sein, einen Dialog zu zeigen, welcher die Liste der gefundenen Namen zur Auswahl anbietet.
Gruss, Hans
(Dieser Beitrag wurde von Hans Haesler am 13. Dez 2011, 17:27 geändert)