Forenindex » Programmierung/Entwicklung » AppleScript » Miniaturseitenverschiebung per Script?

Miniaturseitenverschiebung per Script?

Anonym
Beiträge gesamt: 22827

2. Nov 2003, 19:22
Bewertung:

gelesen: 1021

Beitrag als Lesezeichen
Hallo zusammen,

ich suche nach einer Script-Lösung für die Miniaturseitenverschiebung.

Hintergrund ist eine anstehende Umstellung von Quark 4.11 (OS 9.2.2) auf Quark 6.0 (OS X, wohl Panther). Da die Inhalte i.d.R. per copy & paste in das neue Dokument eingefügt werden, wird es Probleme geben, die eine vorherige Miniaturseitenverschiebung verhindern wird/könnte.

Ist es möglich, eine Miniaturseitenverschiebung, die ich normalerweise per drag & drop ausführe, auch per Script zu erledigen?

Danke!

Mikka

Miniaturseitenverschiebung per Script?

Hans Haesler
  
Beiträge gesamt: 5826

3. Nov 2003, 09:47
Bewertung:

gelesen: 1020

Beitrag als Lesezeichen
Ich habe Mikka off-line um eine genauere Beschreibung des Problems gebeten: Es geht darum, Dokumente, welche mit QXP 3.x erzeugt wurden, zu aktualisieren.

Nun, der Weg mit der Miniaturseitenverschiebung ist bei einer grossen Anzahl von Dokumenten mühsam. Und: Es können auch Probleme auftauchen bei unterschiedlichem Grundlinienraster-Wert (wenn Text daran ausgerichtet ist), oder bei gleichnamigen S&B und Farben mit anderen Werten.

Per Script ist ein Anzeigen in der Miniatur-Ansicht nicht notwendig. Die Seite wird direkt kopiert …
---
tell application "QuarkXPress 4.11"
  duplicate page 1 of document 1 to page 1 of document 2
end tell
---
… und die erwähnten Probleme könnten durch recht aufwendiges Vergleichen und Anpassen vermieden werden.

Aber: die Objekte aus dem "alten" Dokument werden nicht aktualisiert.

Ein einfacherer Weg, um ein Dokument zu "reinigen": Befehl-O, im Dialog das Dokument auswählen, die Options-Taste niederhalten und "Öffnen" klicken. Anschliessend ein "Sichern als..." vornehmen und dabei – falls noch nicht gemacht – die Version auf 4.0 stellen. Wichtig: Das Öffnen muss mit Befehl-O eingeleitet werden (nicht mit Doppelklick oder Ziehen auf QXP-Icon).

Dieser Trick funktioniert seit QXP 4.1 auch per Script. Der Zusatz 'with reflow' im Befehl zum Öffnen des Dokuments bewirkt die Aktualisierung.
---
set aFile to choose file of type {"XDOC", "XTMP"}

tell application "QuarkXPress 4.11"
  open aFile use doc prefs yes remap fonts no do auto picture import no with reflow
  save document 1 as document version vers 40
  close document 1
end tell
---
Mit 'use doc prefs yes' werden zugleich die Dokumentpräferenzen den aktuellen angepasst. Der lästige Dialog wird nicht mehr angezeigt werden.

Diesen Code kann man in ein Droplet verwandeln und die von Mikka gewünschte Batch-Abarbeitung erreichen.
Ich werde ihm mein dreijähriges Droplet, welches ich soeben überarbeitet habe, zustellen.

Achtung: 'with reflow' funktioniert mit QuarkXPress 6.0 nicht mehr.

Hans Haesler <hsa@ringier.ch>

Miniaturseitenverschiebung per Script?

Anonym
Beiträge gesamt: 22827

4. Nov 2003, 19:26
Bewertung:

gelesen: 1020

Beitrag als Lesezeichen
Hallo Hans,

danke erstmal für Deine Arbeit. Entschuldige, daß ich mich heute erst melde. Wir stecken knietief in Arbeit.

Leider werden beim "reflow" (Öffnen des Dokuments mit gedrückter Options-Taste) nur die Quark-eigenen Bildvoransichten neu generiert, der eigentliche Datei-Code jedoch nicht. Dies geschieht erst bei einer echten Miniaturseitenverschieben. Daher mein Ansatz mit der Miniaturseitenverschiebung, die dann (wenn wir mal updaten :-) in Quark 6 stattfinden muß. Die Dateien sind bereits in Version 4.11 gespeichert.

So weit.

Mikka

Miniaturseitenverschiebung per Script?

Hans Haesler
  
Beiträge gesamt: 5826

4. Nov 2003, 22:11
Bewertung:

gelesen: 1020

Beitrag als Lesezeichen
Hallo Mikka,

bitte sehr. No problem. Schön, dass Du viel Arbeit hast.

Zitat Leider werden beim "reflow" (Öffnen des Dokuments mit gedrückter Options-Taste) nur die Quark-eigenen Bildvoransichten neu generiert, der eigentliche Datei-Code jedoch nicht.

Nun bin ich aber neugierig: woran erkennst Du dies? Beim nachfolgenden "Sichern als..." wird der bestehende Code entweder überschrieben oder neu geschrieben.

Tatsache ist, dass beim korrekten "Options-Öffnen" Code-intern Verschiedenes angepasst wird. Aber dass die Bildvoransichten neu generiert werden, habe ich noch nie gehört. Damit dies erreicht wird, muss gleichzeitig die Befehlstaste gedrückt werden.

Dass der Umbruchalgorithmus (die "flow version") angepasst worden ist, kann man auf zwei Arten feststellen.
1) Befehl-O und die Datei im Dialog auswählen. Nur wenn unter der Öffnung die Zeile "Dokument Version: 4.0" steht, handelt es sich entweder um ein "reines", d.h. neu mit QXP 4.x erstelltes Dokument oder wenigstens um ein "angepasstes". Falls die Zeile so aussieht: "Dokument Version: 4.0 erzeugt: 3.31", dann ist das Dokument mit QXP 3.x erzeugt (das "3.31" ist Quatsch), mit QXP 4.x geöffnet und als Version 4.0 gesichert worden.
2) Folgendes Script gibt auch Aufschluss über die Version eines geöffneten Dokuments:
---
tell document 1 of application "QuarkXPress 4.11"
  flow version
end tell
---
Wenn das Ergebnisfenster die Zahl 10 zeigt, dann ist es ein reines (oder gereinigtes) QXP-4.x-Dokument. Wenn es nur zu einer 9 reicht, dann ist es entweder ein "echtes" QXP-3.32-Dokument. Oder eines, welches wohl im 4.0-Format gesichert wurde, aber seinen Ursprung in einer früheren Version hat.

In einem Dokument mit der flow-version-Nummer 9 (oder kleiner) darf nie per Script eine Linienbox erzeugt werde. Sonst gibt es garantiert einen Absturz. Wenn aber ein solches Dokument mit "Options-Öffnen" angepasst wird, besteht keine Absturz-Gefahr mehr (theoretisch).

Die Versions-Geschichte (ob wirklich reines 4.11-Dokument oder nur angepasst) kann im "Bericht" nachgeschaut werden. Ein Dokument öffnen, den Menüartikel "Ablage/Für Ausgabe sammeln..." wählen und die Checkbox "Nur Bericht" aktivieren. Dieser ist blitzschnell erzeugt und kann mit einem Text-Editoren geöffnet werden. In der siebten Zeile ("Zuletzt gesicherte Version") steht die aktuelle Version, ab Zeile 9 sind die früheren Versions-Nummern aufgelistet.

Wie dem auch sei: ich würde nie ein Dokument einer früheren Version in der Produktion einsetzen. Ob "gereinigt" oder nicht &#150; das Risiko eines Datenverlustes kurz vor Abschluss ist zu gross. Deshalb habe ich nach Programm-Upgrades immer sämtliche Formulare von Grund auf neu aufgebaut. Ein schönes Stück Arbeit. Aber dank dem Einsatz mehrerer Script-Tools hielt sich der Zeitaufwand in Grenzen.

Hans Haesler <hsa@ringier.ch>