[GastForen Programme Print/Bildbearbeitung Adobe InDesign JS, Anfängerfrage: Element platzieren

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

JS, Anfängerfrage: Element platzieren

Sacha Heck
Beiträge gesamt: 3281

11. Okt 2006, 13:41
Beitrag # 1 von 14
Bewertung:
(5999 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Hier eine wirkliche JavaScript Anfängerfrage: Bestimmt nur eine Zeile: Ich möchte nur dass das Skript mir ein bestimmtes Snippet platziert.

In der Reference steht bei Place: Places a file. Filename, File (String). Ich verstehe nicht wie diese Tabellen anzuwenden sind.

Danke!

Gruß, Sacha Heck
X

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 14:14
Beitrag # 2 von 14
Beitrag ID: #255829
Bewertung:
(5981 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

hier ein Beispiel zum Export der Auswahl als Snippet:
Code
var myFile = new File("~/Desktop/test.inds"); 
app.selection[0].exportFile("InDesign-Snippet",myFile);


und hier eins zum Import:
Code
var myFile = new File("~/Desktop/test.inds"); 
app.documents[0].pages[0].place(myFile);


Und jetzt erklär mir mal, wie der placePoint zu definieren ist.
Eigentlich sollte dies über app.documents[0].pages[0].place(myFile, [0,0]) funktionieren.
Mein Snippet wird aber nicht am Nullpunkt platziert.
Ändere ich die Koordinaten, dann wird das Snippet an derselben Stelle wie zuvor platziert.
Warum?


als Antwort auf: [#255819]

JS, Anfängerfrage: Element platzieren

Gerald Singelmann
  
Beiträge gesamt: 6269

11. Okt 2006, 14:22
Beitrag # 3 von 14
Beitrag ID: #255831
Bewertung:
(5973 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Ändere ich die Koordinaten, dann wird das Snippet an derselben Stelle wie zuvor platziert.
Warum?


Spricht hier Studienrat Fischer oder ist das eine echte Frage?

Weil die Koordinaten im Snippet selbst gespeichert sind. Es ist egal, wo auf der Seite ich das Snippet platziere, die Objekte landen immer an ihrer ursprünglichen Stelle. Egal ob ich Drag&Drop, Datei>Platzieren oder Script als Weg wähle.


als Antwort auf: [#255829]

JS, Anfängerfrage: Element platzieren

Sacha Heck
Beiträge gesamt: 3281

11. Okt 2006, 14:25
Beitrag # 4 von 14
Beitrag ID: #255834
Bewertung:
(5972 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Martin,

Danke. Das Skript funktionert wunderbar. Aber kannst du mir die 2 Zeilen kommentieren? Was bewirkt was?

Danke.

Gruß, Sacha Heck


als Antwort auf: [#255829]

JS, Anfängerfrage: Element platzieren

Sacha Heck
Beiträge gesamt: 3281

11. Okt 2006, 14:34
Beitrag # 5 von 14
Beitrag ID: #255839
Bewertung:
(5968 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mir ist auch aufgefallen dass bei einem mehrseitigen Dokument das Snippet immer auf die erste Seite platziert wird anstatt auf die aktuelle. Kann man das ändern oder wird diese Info ebenfalls im Snippet gespeichert?

Gruß, Sacha Heck


als Antwort auf: [#255834]

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 14:50
Beitrag # 6 von 14
Beitrag ID: #255849
Bewertung:
(5965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sacha,

> Aber kannst du mir die 2 Zeilen kommentieren? Was bewirkt was?

Die Zeile "var myFile = new File("~/Desktop/test.inds"); " weist der Variable myFile das Fileobjekt, dessen Pfad in der Klammer als String angegeben ist, zu. Weiteres steht im Kapitel "Files and Folders" in der Scripting Reference.

Zu der Zeile:
app.documents[0].pages[0].place(myFile);

app.documents[0] bezeichnet das oberste Dokument.
pages[0] bezeichnet die erste Zeile (des obersten Dokuments).
place() ist eine Methode der Seite (page) zum Platzieren einer Datei.
Und myFile gibt die Datei an.

> das Snippet immer auf die erste Seite platziert wird anstatt auf die aktuelle.
Du hast die Einstellung wohl auf pages[0] belassen.
Die aktive Seite findest Du über app.layoutWindows[0].activePage (= aktive Seite des obersten Layoutfensters). Damit kannst Du oben app.documents[0].pages[0] ersetzen. Also:

Code
var mySnippet = app.layoutWindows[0].activePage.place(myFile); 



als Antwort auf: [#255839]
(Dieser Beitrag wurde von Martin Fischer am 11. Okt 2006, 14:51 geändert)

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 14:59
Beitrag # 7 von 14
Beitrag ID: #255854
Bewertung:
(5955 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Spricht hier Studienrat Fischer oder ist das eine echte Frage?

Oh je, jetzt hast Du mich in aller Öffentlichkeit bloßgestellt...
Ich bin kein Studienrat sondern ein Schüler mit einer echten Frage, die ich mit etwas selbständigem Denken eigentlich hätte selber beantworten können sollen.

Aber kannst Du mir eine Möglichkeit nennen, wie ich ein platziertes Snippet (gleich nach der Platzierung) an eine andere Position bewege?

Code
var mySnippet = app.layoutWindows[0].activePage.place(myFile); 
mySnippet.move([0,0])

funktioniert nicht.
Mit dieser Frage habe ich mich nun auch im Scripting Forum als blutiger Anfänger geoutet.

Gerald, hilf Du mir raus aus diesem Sumpf!


als Antwort auf: [#255831]
(Dieser Beitrag wurde von Martin Fischer am 11. Okt 2006, 15:07 geändert)

JS, Anfängerfrage: Element platzieren

tl
Beiträge gesamt: 43

11. Okt 2006, 15:22
Beitrag # 8 von 14
Beitrag ID: #255858
Bewertung:
(5936 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Martin,

ich hab dir zwar schon im Scripting Forum auf Englisch geantwortet, aber jetzt nochmal hier:

Alle Koordinaten in einem Snippet sind bezogen auf die Seitengröße von der exportiert wurde. Probier mal ein Snippet aus einem A5 Dokument zu exportieren und in ein A4 Dokument zu positionieren oder andersrum ...

Eine Positionierung eines Snippets geht unter CS2 nur über hässliche Umwege (Ich habe aber Gerüchte gehört, dass sich da was ändern wird...)

Grüße Tilo


als Antwort auf: [#255854]

JS, Anfängerfrage: Element platzieren

Gerald Singelmann
  
Beiträge gesamt: 6269

11. Okt 2006, 15:31
Beitrag # 9 von 14
Beitrag ID: #255861
Bewertung:
(5931 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Gerald, hilf Du mir raus aus diesem Sumpf!

Das ist doch keine Anfängerfrage.
Ich habe (ohne jetzt mit dem Ausprobieren anzufangen) keine Ahnung, wie man sich die durch ein Snippet importierten Objekte in eine Variable lädt.
Ich hätte erwartet, dass der return-Parameter eine Liste von Objekten ist. Das wäre eine Erklärung, weshalb ein einfacher move-Befehl nicht geht, du müsstest die einzelnen Objekte bewegen.


als Antwort auf: [#255854]

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 15:36
Beitrag # 10 von 14
Beitrag ID: #255863
Bewertung:
(5922 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Im Scripting Forum habe ich folgenden Antwort mit einem workaround bekommen:
1. es gibt für Skripts kein snippet-Objekt; d.h. ein platziertes Snippet kann per Skript als solches nicht weiter malträtiert werden;
2. um die Objekte eines importierten Snippets zu behandeln, sollte man diese Objekte vor dem Export als Snippet gruppieren und ihnen einen Label verpassen. Nach dem Import kann man die Objekte auf der Seite auf dieses Label hin überprüfen und die Gruppe auf diese Weise ausfindig machen und einer weiteren Behandlung unterziehen.

Wieder was gelernt.


als Antwort auf: [#255861]

JS, Anfängerfrage: Element platzieren

Gerald Singelmann
  
Beiträge gesamt: 6269

11. Okt 2006, 15:44
Beitrag # 11 von 14
Beitrag ID: #255866
Bewertung:
(5916 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und wenn man 2. vorher nicht gemacht hat, muss man sich halt vor dem Platzieren des Snippets eine Liste aller page items merken und nach dem Platzieren schauen, welche hinzugekommen sind.
Sollte nicht so schwer sein.


als Antwort auf: [#255863]

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 16:02
Beitrag # 12 von 14
Beitrag ID: #255873
Bewertung:
(5904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tilo,
oder Debilo ? ;-)

Aha!

Und nochmals auf deutsch: Danke schön.


als Antwort auf: [#255858]

JS, Anfängerfrage: Element platzieren

Martin Fischer
  
Beiträge gesamt: 12775

11. Okt 2006, 16:07
Beitrag # 13 von 14
Beitrag ID: #255875
Bewertung:
(5899 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Sollte nicht so schwer sein.
Aber danach hatte Sacha oben gar nicht gefragt.

Das kommt davon, wenn man nach Studienratmanier jemandem nicht nur auf eine Frage antwortet, sondern ihm darüberhinaus noch etwas beibringen will, was man sich selber noch nicht so recht vergegenwärtigt hat.

Sacha, Du hast Dich doch hoffentlich durch den Verlauf der Diskussion nicht einschüchtern lassen.
Stehen die Snippets jetzt da, wo sie hin sollen?


als Antwort auf: [#255866]

JS, Anfängerfrage: Element platzieren

Sacha Heck
Beiträge gesamt: 3281

12. Okt 2006, 09:48
Beitrag # 14 von 14
Beitrag ID: #255996
Bewertung:
(5831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Martin,

Zitat Sacha, Du hast Dich doch hoffentlich durch den Verlauf der Diskussion nicht einschüchtern lassen.
Stehen die Snippets jetzt da, wo sie hin sollen?


Funktioniert prächtig :-) Danke. Die Snippets stehen immer auf der gleichen Position auf der aktiven Seite. Genauso wollte ich es haben. Habe einen Shortie zugewiesen (Alt-1) und kann damit jetzt mit einem Knopfdruck mein Snippet platzieren :-) Meine Idee war auch das z.B. anstelle einer Library zu benutzen. Man könnte sich dann das Skript ein paar mal kopieren, immer einen anderen Dateipfad angeben und diese auch mit Shortcuts belegen. Alt-1 platziert Snippet1, Alt-2 Snippet2 u.s.w.

Ich habe mich nicht einschüchtern lassen ;-) Aber mit dem JavaScript, das ist nicht so einfach. Blicke noch nicht durch. Habe mir aber fest vorgenommen mich da etwas zu vertiefen wenn ich denn mal Zeit haben sollte ;-) Ist schon interessant.

Gruß, Sacha Heck


als Antwort auf: [#255875]
X