Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » InDesign CS5 und XML Import

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

15. Feb 2011, 09:18
Bewertung:

gelesen: 8943

Beitrag als Lesezeichen
Hallo allerseits!

Vorab: ich bin ein absoluter Anfänger in Sachen Adobe InDesign CS5 (VB programmieren und XML sind weniger das Problem) und habe folgendes Problem zu lösen:
Ich habe eine XML Datei, welche in ein InDesign Dokument importiert werden soll.
Im InDesign Dokument gibt es doppelseitige-, einseitige-, halbseitige- und eindrittelseitige Inhalte (welchen Umfang ein Inhalt hat, ist im XMLfestgelegt).
Die Tags im InDesign Dokument haben jeweils den gleichen Namen wie Tags im XML (GROß- und kleinschreibung beactet natürlich).

Fragen:
1a. Muss ich Skripten, damit ich die Problemstellung lösen kann oder kann InDesign das auch "von Haus aus"?
1b. Wenn ich skripten muss (VBS!), Wie (wenn ihr Beispiele oder so habt)?
2. Wie weise ich den Feldern im InDesign Dokument die XML Inhalte korrekt zu (Hintergrund: Meine Vorlage-Seiten sind immer doppeltseitig ausgelegt. Wenn ich auf der linken Seite die Tags den XML Inhalten zuordne, klappt das. Wenn ich aber anschließend selbiges für die rechte Seite machen möchte, weißt er alle Felder der rechten Seite EINEM EINZIGEN Tag zu)?
3. Was haben diese hellblauen Linien quer durchs Dokuemtn mit kleinen Pfeilen im Kästchen auf dem InDesign Dokument zu bedeuten?

Wenn Ihr noch Fragen habt oder irgendetwas unklar ist, immer her damit!

Vielen Dank für die Hilfe im Voraus!
Gruß
J.R.

InDesign CS5 und XML Import

johniko
Beiträge gesamt: 51

1. Mär 2011, 11:33
Bewertung:

gelesen: 8842

Beitrag als Lesezeichen
Hallo J.R.

ich kenne mich mit InDesign ganz gut aus, bin dafür aber Anfänger was XML etc. angeht. Vielleicht können wir uns gegenseitig helfen. (siehe meine Themen im Forum)

Uu Deinen Fragen:
1a/b
Vielleicht hilft Dir dieses Video weiter:
http://www.mediencommunity.de/content/video-zum-automatisierten-publizieren-indesign-xml-import

Grundsätzlich kannst du mit Tags arbeiten, die du in deinem fertigen Layout einsetzt. (sozusagen als Variable)

2. Das Problem habe ich so ähnlich leider auch und kann Dir (noch) nicht weiterhelfen.

3. Das könnten Textrahmen sein, die miteinander verkettet sind.
http://www.indesign-faq.de/de/zeilen-nummerieren

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

2. Mär 2011, 08:56
Bewertung:

gelesen: 8809

Beitrag als Lesezeichen
Hallo johniko,

Wäre schön, wenn das mit dem gegenseitigen helfen klappen würde - ich bin nämlich absoluter Anfänger was InDesign CS5 angeht (Erstkontakt vor einem Monat ca.) mit XML habe so meine Erfahrungen, aber das bringt mich hier nicht weiter (InDesign hat ja alles in der Hand).

Ich habe zur Lösung des Problems in mehrere Foren gepostet u.a. auch hier (da gibts auch eine Videoanleitung):
http://www.mediengestalter.info/forum/8/indesign-cs5-und-xml-import-152631-6.html
(da konnte man mir auch weiterhelfen aber irgendwie jetzt nicht mehr)

Aktueller Stand bei mir:
InDesign "quetscht" mir das gesamte XML in das Template rein, erzeugt auch neue Seiten wenn erforderlich.
Da ich mehrere Textrahmen pro Seite habe (vier Stück), verkette ich diese miteinander (vom ersten bis zum letzten - identische Reihenfolge des verkettens wie XML Aufbau). Danach importiere ich die XML. Nach dem Import ziehe ich das Root Element in der Struktur auf den ersten Textrahmen im ID Template (alle sonstigen beschreibenen Schritte im Video bereits getan).
Problem: ID befüllt Textrahmen verkehrt herum. D.h.: ID fängt mit dem befüllen der Textrahmen nicht beim ersten Textrahmen an, sondern beim letzten.
Textrahmen1 bekommt den Inhalt XMLElement4,
Textrahmen2 bekommt den Inhalt von XMLElement3, Textrahmen3 bekommt den Inhalt von XMLElement2 und
Textrahmen4 bekommt den Inhalt von XMLElement1.
Ich habe schon versucht, das XML umzuschreiben (nach der Befüllreihenfolge von InDesign praktisch, hat aber nicht gebracht).
Eins nehme ich vorweg: Die Textrahmen im ID Template sind in der richtigen Reihenfolge verkettet (vom ersten Rahmen zum letzten Rahmen).

Ich habe praktisch schon bei der ersten Seite Probleme. Wenn weitere Seiten angefügt werden, dann läuft das Spiel so weiter, dass die Rahmen in der "falschen Reihenfolge" befüllt werden.

Was mir auch aufgefallen ist: nachdem ich die Textrahmen verkettet hatte, wollte ich mal händisch etwas in den ersten Textrahmen hineinschreiben. Ich klicke den ERSTEN Textrahmen also doppelt und tippe .. Was sehe ich? Der Cursor tippt im letzten verketteten Textrahmen und nicht im ersten.

Hast du irgend eine Ahnung warum?
Soweit ich dich verstanden habe, ist das auch dein Problem?

Gruß
J.R.

InDesign CS5 und XML Import

johniko
Beiträge gesamt: 51

2. Mär 2011, 09:53
Bewertung:

gelesen: 8796

Beitrag als Lesezeichen
Hallo J.R.

Nein, ich hatte ein anderes Problem.
Hast du es mal mit "textContainers" im Skript versucht? Wird aber das Problem mit der Reiehnfolge wahrscheinlich nicht lösen.

http://www.hilfdirselbst.ch/foren/Textrahmen_per_Script_verketten_P449290.html

Musst Du die Textrahmen überhaupt verketten? Ich habe in meinem Dokument eine Tabelle (pro Seite), die bei "overflow" auf der nächsten Seite fortgesetzt wird. Alle anderen Textrahmen (z. B. für die Überschrift) werde ich nicht verketten - nicht mit Rahmen auf der selben und auch nicht mit Textrahmen auf anderen Seiten - auch weil dort kein Übersatztext entstehen kann.

Edit: Verkettest Du die Rahmen vorab per Hand oder mit dem Skript?

(Dieser Beitrag wurde von johniko am 2. Mär 2011, 09:56 geändert)

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

2. Mär 2011, 10:14
Bewertung:

gelesen: 8791

Beitrag als Lesezeichen
Hallo johniko,

in meinem ID Template existiert im Moment kein bisschen Code (ich habe mich zwar einwenig eingelesen in das Thema InDesign und Scripts, aber irgendwie davor gescheut, etwas umzusetzen, in der Hoffnung, dass ich für mein Problem -vorerst- kein Code benötige). Ich weiß aber nicht, ob, wenn ich auch die unterschiedlichen Seitengrößen einbaue, ich nicht doch Code brauche, damit ich sagen kann:
"Wenn XML-Tag SeitenGroesse = 100, dann nehme die Mustervorlage GanzeSeite;
Wenn XML-Tag Seitengroesse = 50, dann nehme die Mustervorlage HalbeSeite; usw. ..."

Ob ich die Textrahmen verketten muss ...
Ich weiß nicht ob ich die Textrahmen verketten muss - ich bin bisher nach den Tutorials gegangen, die gesagt haben ".. verkette die Textrahmen ...".

Unkonventioneller Lösungsansatz zur Lösung des Problems mit den Reihenfolgen im Import:
Ich importiere die XML Datei ins ID Template und ordne die Textrahmen so an, dass es von der Ausgabe her passt. Verkettungen und Inhalte der Textrahmen bleiben bestehen, nur deren Postionen ändern sich. Dann sieht die erste Seite wenigstens "richtig" aus.

Gruß
J.R.

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

2. Mär 2011, 13:17
Bewertung:

gelesen: 8762

Beitrag als Lesezeichen
Wie gehe ich bei der Verkettung von Textrahmen bei Doppelseiten richtig vor?

Ist es richtig, wenn ich folgendermaßen in der MUSTERVORLAGE vorgehe ... ???
1. Auf der LINKEN Seite:
1.1 Textrahmen1 mit Textrahmen2 verketten
1.2 Textrahmen2 mit Textrahmen3 verketten
1.3 Textrahmen3 mit Textrahemn4 verketten
2. Auf der LINKEN Seite:
2.1 Textrahmen1 mit Textrahmen2 verketten
2.2 Textrahmen2 mit Textrahmen3 verketten
2.3 Textrahmen3 mit Textrahemn4 verketten
3. Textrahmen4 der LINKEN Seite mit Textrahmen1 der RECHTE Seite verketten
4. Jetzt sind alle Rahmen auf der Seite miteinander verkettet.
5. Ich ziehe mir die Musterseite ins Dokument und löse alle Rahmen von der Musterseite (Klick auf Textrahmen + Umschalt)
6. Ich ziehe mir noch eine Musterseite ins Dokument und löse alle Rahmen von der Musterseite wieder.
7. Nun verette ich den letzten Textrahmen (rechte Seite) aus der ersten Templateseite (aus Schritt 5) mit dem ersten Textrahmen (linke Seite) aus der zweiten Templateseite (aus Schritt 6).
9. Die Verkettung sieht logisch aus.

Beim importieren der XML passiert dann das:
10. Ich importiere das XML, ziehe das ROOT Element in den aller ersten Textrahmen1 (links)
10.1 Das Template wird gefüllt (es ist natürlich nicht alles an der richtigen Position)
10.2 Verkettung zwischen den Doppelseiten (zwischen letztem Textrahmen auf der rechten Seite und erstem Textrahmen auf linken Seite jeweils) die gesetzt waren verschwinden. Stattdessen verkettet ID zwischen zwei Doppelseiten "eigenmächtig" zwei Xbeliebige Textrahmen.

Warum "missachtet" ID meine vorher definierte Verkettung zwischen den zwei Doppelseiten und setzt selber welche (zwei Stück zur Verkettung von zwei Doppelseiten - eine müsste doch reichen)??

Gruß
J.R.

InDesign CS5 und XML Import

johniko
Beiträge gesamt: 51

2. Mär 2011, 16:56
Bewertung:

gelesen: 8734

Beitrag als Lesezeichen
(Tut mir leid, J.R.... ich kann Dir damit nicht helfen.
Ich habe einen völlig anderen Lösungsansatz.
Bei mir wird eine Seite per Skript aufgebaut.
Ist ein Textrahemn voll, wird dieser - wie schon beschrieben - auf einer neuen Seite fortgesetzt bis kein Übersatztext mehr vorhanden ist.)

Was sagen die Profis im Forum?!

P. s.: Ich würde zunächst testweise mit mehreren Einzelseiten arbeiten und nicht mit Doppelseiten.

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

9. Mär 2011, 15:53
Bewertung:

gelesen: 8603

Beitrag als Lesezeichen
Danke - ich konnte das Problem mitlerweile lösen (Verkettung und Befüllung vom Dokument).
Kennst du vielleicht gute Seiten, eBooks, mit deren ich in das Thema Skripten mit InDesign (am besten mit VB Script) einsteigen kann?
Ich hab mal was von XML Regelsätzen gehört (Regeln, die anscheinend per Skript definiert werden für Formatierung etc.). Kannst du mir dazu kurz was sagen (für welchen Einsatz geeignet etc.)?

Danke nochmals!
Gruß
J.R.

InDesign CS5 und XML Import

johniko
Beiträge gesamt: 51

10. Mär 2011, 10:47
Bewertung:

gelesen: 8571

Beitrag als Lesezeichen
Hallo J.R.

hier findest Du mehr zu dem Thema XML Rules:
http://www.adobe.com/designcenter/indesign/articles/indcs3ip_xmlrules.pdf

Ausserdem hilft dir ggf. bei der Arbeit http://indesignscriptingreference.com/ und die intigrierte Hilfe des ExtendedScript Toolkits weiter. (siehe auch "Objektmodell-Viewer" unter "Hilfe")

Generell kannst Du so fast alles per Skript automatisieren.
Du kannnst z. B. so ein Farbfeld anlegen: (um mal ein einfaches Beispiel zu nennen.)

myDoc.colors.add({model:ColorModel.process, colorValue:[0, 0, 0, 60], name:"Grau60"});

Grüße!

InDesign CS5 und XML Import

JonesRidder
Beiträge gesamt: 85

11. Mär 2011, 11:31
Bewertung:

gelesen: 8525

Beitrag als Lesezeichen
Gehe ich recht in der Annahmen, dass JavaScript besser (oder überhaupt) in InDesign integriert (Editor, Syntax hervorhebung etc. > ExtendScript Toolkit) ist im Gegensatz zu VBS?

Brauche ich für folgende Aufgabe überhaupt zu scripten oder kann das InDesign auch von Haus aus?
Eine XML Datei ist nach InDesign bereits importiert. Die XML enthält Artikel mit Doppel-, Ganzen-, Halben- und DrittelSeiten - entsprechend sind in InDeisgn erschiedene Musterseiten angelegt. Jeder Artikel Elementenblock im XML hat auch eine Info "Seitengroesse".
Nun möchte ich, dass InDesign die XML von oben nach unten durchläuft und je nachdem, was im XML unter "Seitengroesse" steht, er die entsprechende Vorlage herholt und befüllt. Die Vorlagen sind als doppeleiten hinterlegt jeweils, es kann aber auch vorkommen, dass auf einer Doppelseite links zwei halbe Seiten und rechts eine ganze Seite vorhanden ist (ok, das könnte man für den Anfang evtl. außen vor lassen).

Ich habe mal probeweise (erste Schritte bzgl. XML Import nach ID) beim XML erzeugen nur die ganzseitigen XML Elemente importiert und das ID Dokument befüllt (in die ID Mustervorlage für ganze Seiten). Dazu habe ich eine Mustervoralge nach unten (Dokumenten bereich) gezogen und das Root Element aus dem Strukturfenster in den ersten Textrahmen gezogen - es hat geklappt (aber nur für ganze Seiten).

Jetzt muss noch differenziert werden nach Seitenzahlen und Musterorlagen ...

Gruß
J.R.