[GastForen Programme Print/Bildbearbeitung Adobe InDesign JS: XML komplett platzieren + Teilen

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

JS: XML komplett platzieren + Teilen

MarS
Beiträge gesamt: 18

11. Okt 2006, 16:20
Beitrag # 1 von 7
Bewertung:
(2695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

wie lautet der Befehl, um ein XML-Element (hier soll das Rootelement genommen, also das komplette XML-Dokument platziert werden) auf einer Seite zu platzieren und wie lautet der Befehl, um diesen "kleines Kreuzsymbol rechts unten am Frame anklicken, um überstehenden Text (der zu lang für die Seite ist) zu nehmen, um ihn auf der nächsten Seite platzieren zu können" Vorgang per Script durchzuführen?

Gruß
X

JS: XML komplett platzieren + Teilen

Martin Fischer
  
Beiträge gesamt: 12783

11. Okt 2006, 16:56
Beitrag # 2 von 7
Beitrag ID: #255893
Bewertung:
(2658 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mars,

> wie lautet der Befehl, um ein XML-Element (hier soll das Rootelement genommen,
>also das komplette XML-Dokument platziert werden) auf einer Seite zu platzieren

schau mal hier: http://www.hilfdirselbst.ch/..._P255829.html#255829

> wie lautet der Befehl, um diesen "kleines Kreuzsymbol rechts unten am Frame anklicken,
> um überstehenden Text (der zu lang für die Seite ist) zu nehmen, um ihn auf der nächsten
> Seite platzieren zu können" Vorgang per Script durchzuführen?

Für den Klick gibt es keinen einfachen Befehl.
Das Zauberwort lautet "nextTextFrame", eine Eigenschaft der Textrahmen.
Du mußt also auf der nöchsten Seite einen Textrahmen newFrame anlegen und dem Textrahmen myFrame mit dem Überlauf auf der vorherigen Seite sagen: myFrame.nextTextFrame = newFrame usw.

Wenn Du die XML-Datei per Skript platzierst, kannst Du bei place() den Schalter autoflowing auf true setzen.


als Antwort auf: [#255879]

JS: XML komplett platzieren + Teilen

MarS
Beiträge gesamt: 18

11. Okt 2006, 17:01
Beitrag # 3 von 7
Beitrag ID: #255895
Bewertung:
(2649 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin. Hatte nicht gedacht, dass "XML import" und "XML platzieren" über place in einem Schritt geht (bzw. dass place überhaupt auch für den XML-Import gedacht ist; davon abgesehen, dass ich in dem anderen Thread das "File" missinterpretiert hatte und dachte es erzeugt eine neue Datei).


als Antwort auf: [#255893]

JS: XML komplett platzieren + Teilen

MarS
Beiträge gesamt: 18

11. Okt 2006, 17:11
Beitrag # 4 von 7
Beitrag ID: #255899
Bewertung:
(2644 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zu früh gefreut... die XML-Datei wird nun zwar platziert, aber nicht als XML-Datei behandelt, sondern als Textdatei.
Sprich danach hab ich nicht den Effekt von "XML importieren", sondern der Dateiinhalt wird 1zu1 ins Dokument eingefügt.


als Antwort auf: [#255879]

JS: XML komplett platzieren + Teilen

Martin Fischer
  
Beiträge gesamt: 12783

11. Okt 2006, 17:30
Beitrag # 5 von 7
Beitrag ID: #255904
Bewertung:
(2635 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mars,

dann suche in der Scripting Reference nach importXML oder XMLimport.

Vielleicht geht es in diese Richtung:
Code
app.documents[0].importXML(myFile); 


Hab das noch nicht gemacht.
XML ist ein mir ein Weißer Fleck.


als Antwort auf: [#255899]

JS: XML komplett platzieren + Teilen

Martin Fischer
  
Beiträge gesamt: 12783

12. Okt 2006, 05:15
Beitrag # 6 von 7
Beitrag ID: #255968
Bewertung:
(2587 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danach könnte es in dieser Richtung weitergehen:
Code
// weist das erste XML-Element einer Variable zu 
var myElement = myDoc.xmlItems[0].xmlElements[0];

// erzeugt einen neuen Textrahmen
var myFrame = myDoc.pages[0].textFrames.add({geometricBounds:[10,10,100,138.5]});

// platziert das erste XML-Element im neu erzeugten Textrahmen
myElement.placeXML(myFrame);

// erzeugt einen weiteren neuen Textrahmen
var myNewFrame = myDoc.pages[0].textFrames.add({geometricBounds:[110,10,200,138.5]});

// verknüpft den ersten Textrahmen mit dem zweiten
myFrame.nextTextFrame = myNewFrame;


Das Erzeugen eines neuen Textrahmens und das Verknüpfen des vorherigen TR mit dem neuen TR könntest Du in eine Schleife mit der Bedingung "while (myLastTextFrame.overflows == true)" packen, damit solange neue Textrahmen erzeugt und mit dem vorherigen verknüpft werden, bis kein Übersatz mehr besteht.


als Antwort auf: [#255904]

JS: XML komplett platzieren + Teilen

MarS
Beiträge gesamt: 18

12. Okt 2006, 11:17
Beitrag # 7 von 7
Beitrag ID: #256046
Bewertung:
(2569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke dir.

Code
// Solange neue Seiten erstellen und Textrahmen erstellen sowie verknüpfen bis keine weitere Verknüpfung mehr nötig ist 
var myLastFrame = myFrame;
var mySpreadPageNum = 1;
var mySpread = myDoc.spreads[0];
var myPagesNum = 1;
while(myLastFrame.overflows == true) {
var myAddLeft = 0;
if(mySpreadPageNum == 1) {
mySpread = myDoc.spreads.add();
mySpreadPageNum = 0;
}
else {
mySpreadPageNum = 1;
myAddLeft = mySpread.pages[0].bounds[3];
}
// Trotz dass das Element auf Seite 2 des Bogens liegt, muss der Abstand von links absolut zum Bogen angegeben werden
var myNewPage = mySpread.pages[mySpreadPageNum];
var myBounds = [myNewPage.marginPreferences.top, myNewPage.marginPreferences.left+myAddLeft, myNewPage.bounds[2]-myNewPage.marginPreferences.bottom, myNewPage.bounds[3]-myNewPage.marginPreferences.right];
var myNewFrame = myNewPage.textFrames.add({geometricBounds:myBounds});
myLastFrame.nextTextFrame = myNewFrame;
myLastFrame = myNewFrame;
myPagesNum++;
}



als Antwort auf: [#255879]
X

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
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow