Ich habe schon mal skizziert, wie das Script vorgehen soll. Der Ordner mit den XPress-Dateien wird auf das Droplet gezogen. Diese Aktion wird vom 'open'-Handler registriert und das Script führt folgendes aus:
– prüfen, ob QuarkXPress läuft
– die aktuelle Version von QuarkXPress feststellen (damit Dokumente, welche eine höhere Version benötigen, nicht geöffnet werden)
– den Pfad des ersten gedroppten Elementes feststellen
– prüfen, dass es ein Ordner ist
– den Namen des Ordners speichern
– die Länge des Namens prüfen und eventuell kürzen (damit später das Suffix ".txt" angefügt werden kann, ohne die Limite von 31 Zeichen zu übertreten)
– den Ordnerinhalt (die Namen der Objekte) in einer Liste speichern
– die Elemente zählen
– einen Handler zum Sortieren der Dateien aufrufen (damit die Dokumente in alphabetischer Reihenfolge behandelt werden)
– die Textdatei vorbereiten (wenn sie noch nicht existiert, wird sie erzeugt, wenn sie schon vorhanden ist, dann wird der Inhalt gelöscht)
– den Separatoren definieren, welcher zwischen den Stories eingefügt wird
– in einer Wiederholschleife die Dateien abarbeiten
– den Dateityp feststellen
– die Version des Dokumentes feststellen
– nur bei XPress-Dokumenten, welche geöffnet werden können, wird der Pfad zu dieser Datei zusammengesetzt
– das XPress-Dokument öffnen (dabei werden die Präferenzen berücksichtigt, aber die Dialoge wegen fehlender Bilder und Fonts werden unterdrückt)
– mit einer Wiederholschleife durch die Stories gehen und sie in der Textdatei speichern
– das Dokument schliessen
Das direkte Sichern in eine Datei ist schnell. Aber nicht ratsam, wenn die Texte verankerte Boxen enthalten. In diesem Fall muss der Text in eine temporäre Datei exportiert werden. Dadurch werden die unsichtbaren Zeichen eliminiert. Anschliessend wird die Datei in eine Variable geladen und sofort an die endgültige Textdatei angehängt.
Wenn automatische Paginas verwendet wurden, und man diese Zahlen auch exportieren will, müssen sie vorgängig in "normale" Zahlen verwandelt werden.
Wenn die Textketten über mehr als eine Seite laufen, dann kann man nicht seitenweise vorgehen, sondern von der ersten bis zur letzten Textkette. Gut, man könnte versuchen, mit grossem Aufwand die Verkettung der Boxen aufzuheben. Aber für die erste Version werde ich diese Möglichkeit noch nicht vorsehen.
Hans Haesler <hsa@ringier.ch>
als Antwort auf: [#418497]