[GastForen Programme Print/Bildbearbeitung Adobe InDesign Indesign – Java-Scripting Mac

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

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

29. Okt 2006, 16:58
Beitrag # 1 von 18
Bewertung:
(4293 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

gibt es für Java, analog zu AppleScript ein Funktionsverzeichnis (Liste der Objekte) für Indesign CS2 auf dem Mac, das man im Editor anzeigen lassen kann?

Habe momentan das Adobe ExtendScript Toolkit in Gebrauch.

Oder welche Editoren empfehlen sich für Java-Programmierung auf dem Mac?

Gruß
Lucas
X

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

29. Okt 2006, 17:37
Beitrag # 2 von 18
Beitrag ID: #259202
Bewertung:
(4277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Lucas,

1. Es gibt kein Java für InDesign, sondern JavaScript (Java ist eine Programmiersprache, die mit der Skriptsprache JavaScript nichts zu tun hat; mehr dazu: http://www.karakas-online.de/...t/javascript_1_2.htm oder http://www.sysiphus.de/...ex/t_javascript.html).

2. Die Liste der Objekte ist mit Dokumentation der Eigenschaften und Methoden in der Scripting Reference oder als einfache Übersicht in der Script Directory PDF-Datei von Peter Kahrel zu finden: http://www.kahrel.plus.com/indesignscripts.html.

3. Die Liste der Objekte kann man sich auch im Datenbrowser von ExtenScript Toolkit anzeigen lassen. Manchmal hilft es, am Ende eine Nonsense-Zeile einzufügen (z.B.: "x = 0") und dort einen Haltepunkt zu setzen. Dann kann man die Eigenschaften der Objekte im Datenbrowser wunderbar studieren.

4. Darüberhinaus kann man jeden anderen Texteditor für die JavaScript-Entwicklung verwenden (BBEdit, TextMate ...). Allerdings bekommt an über diese Editoren keinen direkten Einblick in die Objekte und ihre Eigenschaften.

Ergo: das ExtendScript Toolkit ist die erste Wahl eines JS-Editors für InDesign.

Für Windows-Benutzer gibt es noch den Objektbrowser von Teus de Jong: http://www.teusdejong.nl/

Viele Grüße
Martin




als Antwort auf: [#259194]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

29. Okt 2006, 20:42
Beitrag # 3 von 18
Beitrag ID: #259220
Bewertung:
(4244 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi, danke für die schnelle Antwort, aber eine Frage habe ich noch:

ich habe in einem Beispielscript etwas von der Funktion app.search(...) gelesen, aber im Datenbrowser bekomme ich unter app keine Funktion search angezeigt (wahrscheinlich weil es eine Funktion ist, die von InDesign bereitgestellt wird).

Wie kann ich solche programminternen Funktionen oder Objekte auch in den Datenbrowser laden bzw. ist das überhaupt möglich?

Vielen Dank schon mal im Vorraus,
Lucas


als Antwort auf: [#259202]
(Dieser Beitrag wurde von turtle am 29. Okt 2006, 20:45 geändert)

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

29. Okt 2006, 21:20
Beitrag # 4 von 18
Beitrag ID: #259227
Bewertung:
(4223 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Lucas,

Zitat ich habe in einem Beispielscript etwas von der Funktion app.search(...) gelesen, aber im Datenbrowser bekomme ich unter app keine Funktion search angezeigt (wahrscheinlich weil es eine Funktion ist, die von InDesign bereitgestellt wird).


Der Datenbrowser zeigt nur die Eigenschaften der Objekte an, nicht ihre Methoden.
Die Methoden (z.B. app.search()) sind das, was die Objekten tun können, außer Eigenschaften zu haben.
Diese findest Du in der Scripting Reference. Im DatenBrowser bekommst Du sie nicht zu Gesicht.

Wenn ich skripte, dann liegt stets die "CS2 JavaScript Reference.pdf" im Hintergrund: Ich habe mir den JS-Teil aus der Scripting Reference.pdf separat rausgezogen und abgespeichert, um bei der Volltextsuche in Acrobat nur JS-relevante Stellen angezeigt zu bekommen.

Warum zögerst Du, auf die Scripting Reference zurückzugreifen?
Sie dürfte die zuverlässigste und umfangreichste Dokumentation der Objekte, ihrer Eigenschaften und ihrer Methoden sein.

Viele Grüße
Martin




als Antwort auf: [#259220]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

1. Nov 2006, 17:33
Beitrag # 5 von 18
Beitrag ID: #259667
Bewertung:
(4165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

also die Scripting Reference ist schon ganz nützlich, aber so ganz zufrieden bin ich damit trotzdem nicht.

Gibt es denn keine Möglichkeit z.B. die Objekte und Eigenschaften eines Dokuments (Höhe, Breite etc.) hierarchisch dargestellt zu bekommen?

Momentan z.B. will ich nämlich die Eigenschaften von Textrahmen verändern und habe überhaupt keine Ahnung wie ich diese aufrufen muss.

Könntest Du mir vielleicht exemplarisch erklären wie Du mithilfe der Scripting Reference an so ein Problem herangehen würdest (wenn Du noch keine Ahnung von den einzelnen Objekten hättest so wie ich)?

mfg,
Lucas


als Antwort auf: [#259227]
(Dieser Beitrag wurde von turtle am 1. Nov 2006, 17:38 geändert)

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

1. Nov 2006, 17:57
Beitrag # 6 von 18
Beitrag ID: #259673
Bewertung:
(4156 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Lucas,

> Könntest Du mir vielleicht exemplarisch erklären wie Du mithilfe der Scripting Reference
> an so ein Problem herangehen würdest

1. Ich würde mir überlegen, wie das Objekt auf englisch heißen könnte. Zur Not würde ich das gewünschte Objekt in InDesign auswählen und das folgende Skript in das ExtendScript Toolkit kopieren:
Code
var mySel = app.selection[0]; 
var x=1

Setze bei "var x = 1" einen Haltepunkt (damit das Skript hier stoppt).
Starte das Skript in ESTK und schau im Datenbrowser unter "mySel" nach, welche Eigenschaften das gewählte Objekt hat. Bei "mySel" steht im Datenbrowser zunächst "[object TextFrame]" - aha, das ist die Bezeichnung des Objekts (unter dieser Bezeichnung findest Du weitere Informationen in der Scripting Reference).
Ferner kannst Dir hier nach dem Aufklappen von "mySel" die Bezeichnungen der Eigenschaften ablesen. Manchmal kommt man über einen Wert der gesuchten Eigenschaft näher.

In einem zweiten Schritt könntest Du in Dein Skript z.B. folgende Zeile einbauen:
mySel.width = 10; (mySel referenziert immer noch das gewählte Objekt, also z.B. ein Textrahmen).

2. schau in der Scripting Reference unter "TextFrame" nach. Dort stehen alle Eigenschaften und Methoden.

Viele Grüße
Martin




als Antwort auf: [#259667]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

1. Nov 2006, 20:19
Beitrag # 7 von 18
Beitrag ID: #259687
Bewertung:
(4139 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also wenn ich das so mache erscheint in der Javascript-Konsole nur "undefined ist kein Objekt" und im Datenbrowser "mySel = undefined" !?


als Antwort auf: [#259673]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

1. Nov 2006, 20:45
Beitrag # 8 von 18
Beitrag ID: #259691
Bewertung:
(4133 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Oh, mein Fehler!
Ich hab gerade gemerkt, dass ich im ESTK links oben InDesign nicht ausgewählt hatte!
Vielen Dank für die Info, das ist genau was ich gebraucht habe!
Lucas


als Antwort auf: [#259687]

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

1. Nov 2006, 20:57
Beitrag # 9 von 18
Beitrag ID: #259695
Bewertung:
(4127 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Ich hab gerade gemerkt, dass ich im ESTK links oben InDesign nicht ausgewählt hatte!

Um sicher zu sein, daß Dein Code an InDesign adressiert wird, kannst Du das Ziel auch in die erste Zeile reinschreiben:


Code
#target InDesign 


Dann entfällt das Geklicke links oben (besonders nervig, wenn InDesign im PullDown-Menü unten versteckt ist und über Scrollen angepeilt werden muß).

Viele Grüße
Martin




als Antwort auf: [#259691]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

1. Nov 2006, 21:24
Beitrag # 10 von 18
Beitrag ID: #259698
Bewertung:
(4125 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also wenn ich z.B. die Bezeichnung eines ausgewählten Textrahmens ändern will, kann ich das jetzt so schreiben:

Code
var mySel = app.selection[0]; 
mySel.label = "AndererName";


Was ist aber wenn ich einen bestimmten Textrahmen direkt vom Script aus umbenennen möchte?
(aus dem Datenbrowser weis ich, dass die Hierarchie folgendermaßen aussieht:
Application >> Document >> Spread >> Page >> TextFrame
das hilft mir aber nicht wirklich weiter!?)

Vielen Dank schon mal im Vorraus,
Lucas


als Antwort auf: [#259691]

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

1. Nov 2006, 21:34
Beitrag # 11 von 18
Beitrag ID: #259700
Bewertung:
(4121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
z.B. app.documents[0].pages[0].textFrames[0].label = "AndererName";

Damit weist Du dem ersten Textrahmen auf der ersten Seite des obersten Dokuments das Etikett "AndererName" zu.

Statt app.documents[0] kannst Du auch app.activeDocument verwenden.

Mit "alert(app.documents[0].pages[0].textFrames.length)" wird Dir die Menge der Textrahmen auf der ersten Seite angezeigt. Ggf. mußt Du zur Identifikation des einen gewünschten Textrahmens eine Schleife durch alle Textrahmen der ersten Seite vornehmen.

Viele Grüße
Martin




als Antwort auf: [#259698]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

1. Nov 2006, 22:18
Beitrag # 12 von 18
Beitrag ID: #259702
Bewertung:
(4115 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich glaub jetzt weiß ich genug um das ganze erst mal alleine weitererforschen zu können :)
Vielen Dank für die ganze Hilfe!
Lucas


als Antwort auf: [#259700]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

2. Nov 2006, 22:02
Beitrag # 13 von 18
Beitrag ID: #259872
Bewertung:
(4054 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich versuche gerade mithilfe eines Scripts den Index des Paragraphen herauszufinden, der mit einem bestimmten Wort beginnt. Das ganze hab ich mir in etwa so gedacht:

Code
with (app.documents[0].stories[0]){ 
for (j=0; (paragraphs[j].words[0].contents)<>"Wort"; j++) {}
}
var ind = j;


In diesem Fall bekomme ich aber die Fehlermeldung, dass ich in der Schleife eine Variale verwenden soll.
Wie kann man dieses Problem umgehen?

Lucas


als Antwort auf: [#259702]
(Dieser Beitrag wurde von turtle am 2. Nov 2006, 22:04 geändert)

Indesign – Java-Scripting Mac

Martin Fischer
  
Beiträge gesamt: 12413

3. Nov 2006, 00:10
Beitrag # 14 von 18
Beitrag ID: #259886
Bewertung:
(4037 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
1. Nimm "!=" an Stelle von "<>".
2. Überlege Dir, was passiert, wenn im ersten Textfluß kein Absatz mit "Wort" beginnt.

Viele Grüße
Martin




als Antwort auf: [#259872]

Indesign – Java-Scripting Mac

turtle
Beiträge gesamt: 180

3. Nov 2006, 13:49
Beitrag # 15 von 18
Beitrag ID: #259994
Bewertung:
(3997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, jetzt funktionierts, aber ich hab schon wieder ein neues Problem:

Ich will den "geometricBounds" eines Textrahmens per Script neue Werte zuweisen, aber es passiert einfach gar nichts (auch keine Fehlermeldung o.ä.).
Muss man erst irgend eine Einstellung ändern, bevor man die Koordinaten manipulieren kann?

Lucas


als Antwort auf: [#259886]
(Dieser Beitrag wurde von turtle am 3. Nov 2006, 13:52 geändert)
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
01.03.2021 - 05.03.2021

Persönlichkeitsentwicklung

Online
Montag, 01. März 2021, 00.17 Uhr - Freitag, 05. März 2021, 00.18 Uhr

Webinar

Personal Power Coaching - Um was geht es? ​ Potenzialentfaltung: Potenzial entdecken und entfalten Talente entdecken: Deine Talente und Fähigkeiten erkennen und loslegen Gewohnheiten: schlechte Gewohnheiten durch Positive ersetzen Selbstbewusstsein stärken: Dein Bewusstsein stärken Eigendynamik entwickeln: Mehr Erfolg durch Eigenverantwortung & Disziplin Ängste kontrollieren: Ängste als Antrieb nutzen Entscheidungen treffen: Mit mehr Mut an die Sache ran! Lebensenergie steigern: Deine Lebensenergie steigern und aufrechterhalten Ziele erreichen: Ziele setzen und übertreffen! Motivationssteigerung: Mehr Erfolg durch Selbstmotivation Selbstvertrauen: Selbstvertrauen auf- und ausbauen

Details:
https://www.snfa.ch/swiss-personal-power-birolisik

Ja

Organisator: Birol Isik

Kontaktinformation: Birol Isik, E-Mailinfo AT snfa DOT ch

https://www.snfa.ch/swiss-personal-power-birolisik

Neuste Foreneinträge


Illustrator Datei aktualisieren

Schwarz überdruckt nicht

Update Problem

Schwarz überdruckt nicht

CC 2020: Problem mit Textumfluss mit verankerten Objekten

Bilder verschieben sich nach dem Speichern und Kopiern der Datei

Optionsfelder abhängig machen von Kontrollkästchen

InDesign CC21 sperrt Taskleiste und Programme

Verknüpfung mit Format aufheben

Kursivierung geht bei é und É verloren
medienjobs