mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 19:41 Benutzername: Passwort: Auto-Login

Thema: InDesign Abfragen vom 30.01.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Software - Print -> InDesign Abfragen
Seite: 1, 2, 3, 4  Weiter
Autor Nachricht
deavy
Threadersteller

Dabei seit: 12.01.2007
Ort: Backnang/Murr
Alter: 37
Geschlecht: Männlich
Verfasst Di 30.01.2007 10:29
Titel

InDesign Abfragen

Antworten mit Zitat Zum Seitenanfang

Guten Morgen zusammen,

beschäftige mich ja erst seit kurzer Zeit mit ID.
Ist es mit ID möglich Abfragen zu erstellen?
Am besten ich beschreibe mal mein Vorhaben:
Wir importieren eine XML Datei. Anhand der vordefinierten Tags usw. klappt das ja und ID schreibt die Inhalte der Elemente in die davor gesehenen Textfelder. Wir haben oft einen Ansprechpartner. Da dies aber sich ja nur ändert, wenn es keinen gibt, habe ich in einer Vorlage ein Textfeld mit Ansprechpartner erstellt, dass immer angezeigt wird und gleich bleibt. Der Name des Ansprechpartners eine Zeile drunter ist wieder mit Tags versehen. Wird nun aber eine XML Datei generiert, dann in ID importiert, deren Inhalt im Element Ansprechpartner leer ist, so steht nachher ja nur das Textfeld Ansprechpartner da, unten drunter aber kein Name. Natürlich könnte ich das danach manuell löschen oder auch selbst einen Tag mit Ansprechpartner erstellen, aber das ist für mich keine Lösung. Ist so eine Abfrage mit einem Skript möglich? Wenn ja, wie sieht ein solches aus?

Zweite Frage zu einer Abfrage in ID:
Ich habe eine Tabelle erstellt für zum Beispiel Artikel. Es gibt ja mehrere Artikel, die unterschiedliche Nummer, Preis usw. haben. Unter dieser Tabelle soll dann bspw. die Rechnung weiter gehen. Die Tabelle kann aber nun mehrere Positionen einnehmen. Also entweder 1 Artikel mit den anderen Informationen oder auch 5. Ist es auch hier möglich direkt im Anschluss an die Tabelle weiterzumachen? Es erfolgt also eine Abfrage, wie viele Artikel es sind und dann wird dort das nächste Textfeld erstellt. Ist das so mit einem Skript möglich? Und kann eine Tabelle erweitert werden, wenn es mehrere Artikel gibt?
In der Vorlage wird eine Tabelle erstellt. Aber bei verschiedenen XML Dateien wird dann in dieser Tabelle mehr Platz gebraucht. Erweitert InDesign das automatisch?
Man könnte ja eine Tabelle erstellen mit etwa 5 Positionen, diese Tabelle dann unsichtbar machen. Wenn beim XML Import nun nur 2 Positionen gebraucht werden, passt es. Bei 5 auch noch, sobald es aber mehr werden nicht.
Versteht ihr mein Problem?
Und habt ihr hilfreiche Ideen/Ansätze?

Viele Grüße
Michael
  View user's profile Private Nachricht senden
Nimroy
Community Manager

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Di 30.01.2007 12:45
Titel

Antworten mit Zitat Zum Seitenanfang

Also auf den ersten Blick würde ich sagen, muss das XML geparst werden, damit die Tabellen entsprechend aufgebaut werden. Denn wie du schon richtig angemerkt hast, muss ja vorher gezählt werden, wieviele RG-Positionen es sind, damit entsprechend Zeilen zur Verfügung gestellt werden.

Ich bezweifle aber, dass ID das mit Bordmitteln kann.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
deavy
Threadersteller

Dabei seit: 12.01.2007
Ort: Backnang/Murr
Alter: 37
Geschlecht: Männlich
Verfasst Di 30.01.2007 13:23
Titel

Antworten mit Zitat Zum Seitenanfang

Hi.
danke für deine Antwort!

Was verstehst du unter "Bordmittel"?

Michael


Zuletzt bearbeitet von deavy am Di 30.01.2007 13:23, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Nimroy
Community Manager

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Di 30.01.2007 15:38
Titel

Antworten mit Zitat Zum Seitenanfang

ID bietet ja nur sehr einfache XML-Funktionalitäten. Import, Validierung mittels DTD usw. Das versteh ich unter Bordmittel.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
deavy
Threadersteller

Dabei seit: 12.01.2007
Ort: Backnang/Murr
Alter: 37
Geschlecht: Männlich
Verfasst Di 30.01.2007 15:53
Titel

Antworten mit Zitat Zum Seitenanfang

Ah, ok danke, quasi die mitgelieferten Funktionen.

Bleibt die Frage, ob das per Skript möglich ist...


edit:
habe so dsa Gefühl XML und ID ist noch nicht so weit verbreitet - das Netz scheint leer zu sein


Zuletzt bearbeitet von deavy am Di 30.01.2007 15:54, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Jigity

Dabei seit: 30.07.2005
Ort: Augsburg
Alter: 44
Geschlecht: Männlich
Verfasst Di 30.01.2007 16:13
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo deavy,

das Netz ist deswegen leer, weil viele genau mit diesen Aufgaben ihre Brötchen verdienen, und sich PlugIn's oder Skripte geschrieben haben, die solch komplexe Aufgaben lösen.

Grundsätzlich sind die von dir gewünschten Aufgaben, bzw Abfragen alle mit InDesign Skripting möglich, doch ein solches Skirpt erfordert zumindest ein Grundwissen in Programmiersprachen wie Visual Basic oder JavaScript. Deine Aufgaben sind wohl auch etwas komplexer und nicht durch deine textalische Beschreibung zu erschließen. Vielleicht helfen ein paar Bilder zur Verdeutlichung der Probleme die zu lösen sind.

Gruß Daniel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
deavy
Threadersteller

Dabei seit: 12.01.2007
Ort: Backnang/Murr
Alter: 37
Geschlecht: Männlich
Verfasst Di 30.01.2007 16:58
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich wollte mich nicht beschweren, dass mir keine Skripte offen geliefert werden. Schön wäre es, klar.. 

Habe jetzt mal ein Bildchen hochgeladen.
www.voigtgmbh.de/download/Bild-Forum.jpg

Oben rechts an dem Formular seht ihr das Textfeld „Ansprechpartner“! Dieses soll nur kommen, wenn in der XML Datei auch Inhalte unter dem Element Ansprechpartner sind. Und somit das Root-Element Ansprechpartner Tags („Titel“ „Vorname“ „Nachname“) auch Inhalte hat. Hier die Frage: Mit Java Skript möglich? Muss schon in der XML Datei etwas programmiert werden?
Das könnte man ja auch umgehen, in dem man dem Textfeld „Ansprechpartner“ auch einen Tag zuweist. Wenn der leer ist, ist er halt leer und wird nicht angezeigt. Aber so eine Abfrage, ob in dem Root-Element Inhalte kommen, wäre eine elegantere und schönere Lösung.

Die zweite Sache ist die etwas komplexere:
In der Tabelle werden die einzelnen Artikel usw. angegeben - auch per XML Inhalt. Habe jetzt mal nur zwei Zeilen gemacht, können aber natürlich mehr sein, wenn der Kunde mehr bestellt. Das Textfeld „Betrag wird….abgebucht“ soll einen festen Platz haben. Entweder dort wo es gerade steht, oder aber wenn die Tabelle größer wird, etwa 3 cm und der Abgrenzung der Tabelle (y-Koordinate).

Die Skripte wollen wir schon selbst schreiben, wenn es denn überhaupt machbar ist…


Zuletzt bearbeitet von deavy am Di 30.01.2007 17:04, insgesamt 4-mal bearbeitet
  View user's profile Private Nachricht senden
Jigity

Dabei seit: 30.07.2005
Ort: Augsburg
Alter: 44
Geschlecht: Männlich
Verfasst Di 30.01.2007 17:56
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo deavy,

zum Thema Scripting und XML mit Adobe InDesign gibt's folgende gute Quellen:

Grundsäzliche Info zum Thema Scripting mit InDesign

Adobe InDesign Scripting Guide

Adobe InDesign Scripting Referenz

Technische Referenz InDesign und XML

Hier noch ein kleines Skript von mir, welches vielleicht den Einstieg etwas erleichtert:
Code:

//traverseXmlElements
//save as traverseXml.jsx in Adobe InDesign Programm Folder /Presets/Skripts
//start script via palette Scripting in Adobe InDesign
if(app.documents.length != 0){
   var myDoc = app.activeDocument;
   var rootNode = myDoc.xmlElements.firstItem();
   //Call function traversXmlElements
   traverseXmlElements(rootNode);
}else{
   alert("You must first open a document");
   exit();
}


//Function alerts for each xml element name and text content
//when xml element has attributes the function show Attributes will be called
//when xml element has child nodes the function traverseXmlElements is called again
function traverseXmlElements(xmlNode){
   for(var i=0; i<xmlNode.xmlElements.length; i++){
      var actualNode = xmlNode.xmlElements[i];
      alert("Element Name is: " + actualNode.markupTag.name);
      alert("Element text: " +  actualNode.contents);
      if(actualNode.xmlAttributes.length != 0){
         showAttributes(actualNode);
      }
      if(actualNode.xmlElements.length != 0){
         traverseXmlElements(actualNode);
      }
   }
}

//Function alerts the name and value of each attribute
function showAttributes(xmlNode){
   for(var i=0; i<xmlNode.xmlAttributes.length; i++){
      var attribute = xmlNode.xmlAttributes[i];
      alert("Attribute name: "+ attribute.name);
      alert("Attribute value: "+ attribute.value);
   }   
}


Zuletzt bearbeitet von Jigity am Di 30.01.2007 17:57, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Wo speichert Indesign auf dem Mac Such-Abfragen?
Indesign dokument für nicht-indesign-nutzer "änderbar machen
[indesign-problem] indesign-eps im quark laden geht nicht
Indesign: Inhalte innerhalb zweier Indesign Dokus übernehmen
[InDesign] zweite Seite einer PDF in InDesign Platzieren
[InDesign CS5] XML Import übere mehrere InDesign Dokumente
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Software - Print


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.