[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Performance bei .convertToTable()

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

Performance bei .convertToTable()

pixelstaub
Beiträge gesamt: 125

16. Mai 2014, 18:49
Beitrag # 1 von 5
Bewertung:
(1568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
liebes Forum,

ich habe gerade folgendes Problem: In InDesign habe ich XML importiert, dessen Inhalt in einem Textrahmen steht. Nun würde ich gerne per Script den Inhalt des XML-Elementes <TABELLE> in eine einfache Tabelle (also lediglich in eine Zelle) umwandeln.

Code
CLUBS = app.activeDocument.xmlElements[0] ///ROOT 
CLUB = CLUBS.xmlElements[0];
CLUB.xmlElements.item("TABELLE").texts[0].convertToTable();


XML-Struktur sieht so aus
Code
<ROOT> 
<CLUB>
<NAME>Name des Clubs</NAME>
<TABELLE>Hier steht der Text, der in eine Tabelle umgewandelt werden soll</TABELLE>
</CLUB>
</ROOT>


Das funktioniert soweit auch – leider dauert das Umwandeln so aber pro <TABELLE>-Element etwa eine Minute, was am Ende insgesamt etwa einen Tag (!) Scriptlaufzeit bedeutet (da es dummerweise wirklich viele dieser Elemente gibt ;)
Jemand eine Idee, ob es eine performantere Lösung gibt?

Dankbar für jeden Tipp grüßt aus Köln
Stephan
X

Performance bei .convertToTable()

WernerPerplies
Beiträge gesamt: 2548

16. Mai 2014, 19:21
Beitrag # 2 von 5
Beitrag ID: #527393
Bewertung:
(1555 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

-;)
Eine Minute?
Das ist wirklich nicht schlecht.

Ich verarbeite XML-Dateien meistens als normale Textdateien, nehme aber an, das solch eine Lösung für Dich weniger in Frage kommt.

Es könnte Sinn machen, zuerst nur Text einzulesen, und anschließend umzuwandeln.

Weitere Moglichkeiten:

Tabellen per Script neu zu erzeugen und dann zu füllen.

Oder eine Tabelle in einen Hilfsrahmen zu erzeugen, zu kopieren und per paste einzufügen und anschließend zu füllen.

Ob eine dieser Methoden etwas bringt weiß ich nicht, ich bin aber sicher, dass ich mit keiner dieser Methoden eine Minute pro kleiner Tabelle benötigt habe.

Wie so oft:
Probieren geht über Studieren.

Hilfreich könnte es auch sein, wenn Du zuerst einmal analysierst, welcher Teil Deines Skriptes am meisten Zeit benötigt.
Dazu:
Speed, Speed, Speed - JavaScript Profiling Class

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 16.12.2020, Version 3.XX, neue Funktionen
Kundenstimmen


als Antwort auf: [#527391]

Performance bei .convertToTable()

pixelstaub
Beiträge gesamt: 125

16. Mai 2014, 19:31
Beitrag # 3 von 5
Beitrag ID: #527394
Bewertung:
(1543 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

und ob eine Minute schlecht ist :(
Die Ausschneiden-und-in-eine-Tabelle-einfügen-Methode werde ich gleich mal ausprobieren, ist zumindest eine Möglichkeit.

Danke für Deine Antwort und Grüße aus Köln
Stephan


als Antwort auf: [#527393]

Performance bei .convertToTable()

drerol74
Beiträge gesamt: 434

16. Mai 2014, 22:55
Beitrag # 4 von 5
Beitrag ID: #527398
Bewertung:
(1485 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

und wenn du das schon beim Import der XML-Daten mit einer Transformation löst?

Code
<?xml version="1.0" encoding="UTF-8"?> 

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" version="1.0">

<xsl:template match="/">
<xsl:element name="Root">
<xsl:element name="Textabschnitt">
<xsl:apply-templates />
</xsl:element>
</xsl:element>
</xsl:template>

<xsl:template match="CLUB">
<xsl:element name="CLUB">
<xsl:copy-of select="NAME" />
<xsl:apply-templates select="TABELLE" />
</xsl:element>
</xsl:template>

<xsl:template match="TABELLE">
<xsl:element name="Tabelle">
<xsl:attribute name="aid:table">table</xsl:attribute>
<xsl:element name="Zelle">
<xsl:attribute name="aid:table">cell</xsl:attribute>
<xsl:value-of select="." />
</xsl:element>
</xsl:element>
</xsl:template>

</xsl:transform>



schöne Grüße
Roland


als Antwort auf: [#527394]

Performance bei .convertToTable()

pixelstaub
Beiträge gesamt: 125

17. Mai 2014, 16:30
Beitrag # 5 von 5
Beitrag ID: #527407
Bewertung:
(1410 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Roland!
Du wirst Mitarbeiter des Monats und Held der Arbeit! Tausend Dank Dir – Deine Lösung ist super!

Beste Grüße aus Köln und ein schönes Wochenende
Stephan


als Antwort auf: [#527398]
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
21.01.2021 - 22.01.2021

Digicomp Academy AG, Bern oder Basel
Donnerstag, 21. Jan. 2021, 08.30 Uhr - Freitag, 22. Jan. 2021, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

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

digicomp.ch/d/INDEM1

Veranstaltungen
21.01.2021

Illustrator - das unbekannte Wesen

Online
Donnerstag, 21. Jan. 2021, 19.00 Uhr

Vortrag

Millionen Funktionen, und immer kommen neue dazu! Monika Gause ist jeden Januar aufs Neue ein gern gesehener Gast bei der IDUG Stuttgart. - Sie bringt alle Neuerungen mit, die 2020 dazukamen und jede Menge Tipps und Tricks. - Zudem wird sie uns informieren, was wir in Illustrator beachten müssen, wenn wir Daten fürs Web erstellen bzw. aufbereiten. - Wichtig zu wissen: "Dos and Don'ts" in Illustrator. Welche Fehler sollte man dringend vermeiden und was muss man unbedingt tun, damit es Spaß macht mit Illustrator zu arbeiten. - Dieses Jahr hast Du zusätzlich die Möglichkeit Monika im Voraus Fragen zu stellen. Fülle dieses Formular mit deinen Fragen; auch Beispieldateien sind anfügbar: https://forms.gle/fJmF8C6MjbDoEhED8

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs67.eventbrite.de/

IDUGS #67 Illustrator mit Monika Gause

Neuste Foreneinträge


CC 2020: Problem mit Textumfluss mit verankerten Objekten

Abrisse im Druck

Farbmanagement bei Fotoabzügen

Dokument einrichten per Javascript [AI24.3, WIN10]

Problem mit arabischer Schrift: Wie von rechts nach links setzen?

Affinity Photo od. Designer -Bildecke einrollen

Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Fortlaufende Nummerierung der Druckbogen

Verschiedene Netzwerke Handeln
medienjobs