[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

JonesRidder
Beiträge gesamt: 85

3. Mai 2011, 11:25
Beitrag # 1 von 6
Bewertung:
(36309 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich importiere per JScript eine XML Datei nach InDesign (Texte und Bilder).

Problem bei den Bildern:
sie erscheinen im Hintergrund (Hinter dem Text, sind also nicht sichtbar, weil durch Text überdeckt) - obwohl in der Mustervorlage die Ebenenreihenfolgen etc. alles richtig ist (also Bilder stehen über Texte) nach Ausführung des Scripts ist die Ebenenreihenfolge nicht mehr wie ursprünglich in der Mustervorlage.

Lösung des Problems: entweder das Ebenenelement des Bildes nach weiter oben schieben oder Bild mit rechter Maustaste anklicken > Anordnen > in den Vordergrund wählen. Das müsste man dann aber bei jedem Bild "händisch" machen.

Frage nun:
Kann ich diesem Problem irgendwie vorbeugen oder bessergesagt bezwecken, dass nach dem Import die Bilder im Vordergrund sind und der Text hinten?

Folgende Ansätze habe ich gefunden, aber nicht korrekt umsetzen können:
- LocationOptions.BEFORE (http://www.hilfdirselbst.ch/foren/%5BJava_Script%5D_Reihenfolge_der_InDesign_Ebenen_%E4ndern_P377230.html) wie wende ich das an?
- Oder eine eigene Idee: es muss doch eine Möglichkeit geben, mit der ich "Anordnen > in den Vordergrund" per Script schreiben kann?

Gruß
J.R.
X

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

Martin Fischer
  
Beiträge gesamt: 12783

3. Mai 2011, 12:29
Beitrag # 2 von 6
Beitrag ID: #470457
Bewertung:
(36288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Antwort auf: Problem bei den Bildern:
sie erscheinen im Hintergrund (Hinter dem Text, sind also nicht sichtbar, weil durch Text überdeckt) - obwohl in der Mustervorlage die Ebenenreihenfolgen etc. alles richtig ist (also Bilder stehen über Texte) nach Ausführung des Scripts ist die Ebenenreihenfolge nicht mehr wie ursprünglich in der Mustervorlage.


Liegen Bilder und Texte auf den für sie eingerichteten unterschiedlichen Ebenen, deren relative Position den Erfordernissen entspricht?

Alternativ (analog 'Anordnen > in den Vordergrund'): wende auf die Rahmen der Bilder den Befehl bringToFront() an.

Hast Du Zugriff auf das Objektmodell?
Z.B. im ExtendScript Toolkit oder InDesign JavaScript Reference Guide?


als Antwort auf: [#470448]
(Dieser Beitrag wurde von Martin Fischer am 3. Mai 2011, 12:32 geändert)

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

JonesRidder
Beiträge gesamt: 85

3. Mai 2011, 12:49
Beitrag # 3 von 6
Beitrag ID: #470459
Bewertung:
(36280 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für deine Antwort.

Mein Code zum Bildimport sieht so aus:
Code
_ebBild1 = getMasterPageItem("ebBild1", _page);  
_bild = _root.evaluateXPathExpression("//Bild")[0];
_ebBild1 = _page.rectangles.itemByName("ebBild1");
_ebBild1.placeXML(_bild);

Wo wende ich nun den Befehl "bringToFront()" an? Nach
"_ebBild1 = getMasterPageItem("ebBild1", _page)"
also so:
"_ebBild1 = getMasterPageItem("ebBild1", _page).bringToFront()"?

Zu deinen Fragen:
- Ich habe nur eine Ebene "Default" unter dieser sind die ganzen Elemente enthalten (Bildrahmen, Textrahmen etc.)
- Ja, ich habe das ExtendScript Toolkit CS5 - schreibe das JS ja dadrin - das Objektmodell kann ich auch aufrufen aber da habe ich aber bisher nichts gefunden (fast nie).

Besten Dank
Gruß
J.R.


als Antwort auf: [#470457]
(Dieser Beitrag wurde von JonesRidder am 3. Mai 2011, 12:57 geändert)

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

Martin Fischer
  
Beiträge gesamt: 12783

3. Mai 2011, 13:20
Beitrag # 4 von 6
Beitrag ID: #470463
Bewertung:
(36264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der Befehl bringToFront() ist auf ein pageItem anzuwenden, also nicht auf ein Bild, sondern auf den 'Container' (meist rectangle) des Bilds.

Vermutlich ist _ebBild1 das Rechteck, welches das Bild enthält.
Dies stellst Du mit folgendem Code in den Vordergrund:
Code
_ebBild1.bringToFront(); 


In Deinem Beispiel etwa
Code
_ebBild1 = getMasterPageItem("ebBild1", _page);   
_bild = _root.evaluateXPathExpression("//Bild")[0];
_ebBild1 = _page.rectangles.itemByName("ebBild1");
_ebBild1.bringToFront();
_ebBild1.placeXML(_bild);


Allerdings kann eine nachträgliche Platzierung von Textrahmen oder anderen pageItems (Rahmen, Ovale, Gruppen ...) diese Ordnung wieder stören. Neue Objekte werden stets im Vordergrund angelegt und drängen damit vorhandene Objekte in den Hintergrund.

Scheidet eine Arbeit mit unterschiedlichen Ebenen für Text und Bilder aus?
Darüber wäre die Lage dieser Elemente leichter zu steuern.

In CS5 ist eventuell eine Steuerung auch über die Sub-Ebenen, auf welchen die pageItems innerhalb einer Ebene liegen, möglich.
Da ich nicht mit CS5 arbeite, fehlt mir die entsprechende Erfahrung.


als Antwort auf: [#470459]

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

JonesRidder
Beiträge gesamt: 85

3. Mai 2011, 13:46
Beitrag # 5 von 6
Beitrag ID: #470470
Bewertung:
(36254 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja genau, _ebBild1 ist der Name des Rechtecks ... und siehe da: ES FUNKTIONIERT (war ja auch nicht anders zu erwarten ;-) - bei der kompetenten Hilfe!)
Vielen Dank!

Antworten zu deinen Fragen:

- bzgl. der Störung der Reihenfolgen:
Das Problem leuchtet mir ein, bei mir trifft das jedoch nicht zu, da ich nur "einmal" importiere/platziere (sprich: es werden nachträglich keine Änderungen in der Hinsicht vorgenommen). Danke aber für den Hinweis.

- Arbeiten mit mehreren Ebenen .... ? Keine Ahnung, da kenne ich mich ZU WENIG mit InDesign aus.

Noch eine Frage nebenbei:
Gibt es einen Grund, warum du nicht mit CS5 sondern mit CS3 (einer "älteren Version" arbeitet? Oder ist es einfach nur der, dass man sich besser in der jeweiligen (also CS3 i.d.F.) auskennt?

Gruß
J.R.


als Antwort auf: [#470463]

Objekt (Bild) in den Vordergrund (vor den Text) bringen (InDesign CS5, JScript, Windows)

Martin Fischer
  
Beiträge gesamt: 12783

3. Mai 2011, 13:54
Beitrag # 6 von 6
Beitrag ID: #470475
Bewertung:
(36248 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Gibt es einen Grund, warum du nicht mit CS5 sondern mit CS3 (einer "älteren Version" arbeitet? Oder ist es einfach nur der, dass man sich besser in der jeweiligen (also CS3 i.d.F.) auskennt?


Ich arbeite mit CS4 (und bei Bedarf gelegentlich mit CS3).
In CS5 kann ich meine Projekte wg. eines noch nicht behobenen Bugs (siehe Leere Seiten bei Fußnoten Indesign 7.0.4) nicht zufriedenstellend erledigen. Die Vorteile neuer Funktionen in CS5 wiegen für mich die Nachteile dieses Bugs nicht auf.


als Antwort auf: [#470470]
(Dieser Beitrag wurde von Martin Fischer am 3. Mai 2011, 13:55 geändert)
X