[GastForen Programmierung/Entwicklung AppleScript Seite einfügen in XPress

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Seite einfügen in XPress

Anonym
Beiträge gesamt: 22827

26. Mai 2003, 17:35
Beitrag # 1 von 4
Bewertung:
(1072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halo Scripter,
Folgendes Problem: Ich möchte durch AppleScript neue Seiten in einem XPress-Dokument erzeugen lassen. Die Dokumente um die es geht sind in der Regel nicht mit Doppelseiten angelegt. (Hierzu ist in diesem Forum ja schon eine Lösung vorhanden).
Das Problem ist ich kann z.B. maximal 5 DIN A 4 Seiten nebeneinander im Seitenlayout erstellen lassen. Aber wie bekomme ich die restlichen Seiten ins Dokument?
Ich bin für jeden Lösungsvorschlag dankbar.

Happy scripting
Rainer
X

Seite einfügen in XPress

Hans Haesler
  
Beiträge gesamt: 5814

26. Mai 2003, 20:27
Beitrag # 2 von 4
Beitrag ID: #418161
Bewertung:
(1071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rainer,

welcome aboard! Welche Version von QuarkXPress benutzt Du?

Ich bin nicht sicher, ob ich Deine Frage richtig verstehe. Ausgehend von einem nicht-doppelseitigen Dokument mit
einer Seite gelingt es Dir, die vier weiteren Seiten einzufügen. Die sechste Seite hat keinen Platz mehr auf der
ersten Arbeitsfläche. Auch beim manuellen Einfügen. Man muss eine zweite Arbeitsfläche anlegen.

Hier eine erste Lösung. Mit einem Dialog wird die Anzahl der einzufügenden Seiten erfragt. Dann folgt die Repeat-
Schleife. Der Zähler 'i' startet mit dem Wert '1' und wird bei jedem Umgang automatisch um 1 erhöht.
Der Test 'if i mod 5 = 0 then' bedeutet: wenn der Wert von 'i' geteilt durch 5 einen Rest von Null ergibt, dann
füge eine neue Arbeitsfläche ein (und zugleich eine neue Seite). Der Zähler 'ctr' wird um 1 erhöht. Beim nächsten
Umgang ist der Rest nicht mehr Null und die drei Zeilen von 'else' (= sonst) kommen zum Einsatz und fügen eine
Seite am Ende der aktuellen Arbeitsfläche ein:
---
tell document 1 of application "QuarkXPress 4.11"
  set ctr to 1
  set nPages to text returned of (display dialog ¬
    "Wieviele Seiten einfügen?" default answer "9")
  repeat with i from 1 to nPages
    if i mod 5 = 0 then
      make spread at end
      set ctr to ctr + 1
    else
      tell spread ctr
        make page at end
      end tell
    end if
  end repeat
end tell
---
Dies funktioniert gut, hat aber zwei Schwächen. Es wird vorausgesetzt, dass 5 Seiten Platz haben und dass beim Start
nur eine Seite vorhanden ist.

Das folgende Script korrigiert diese Probleme, indem innerhalb der Repeat-Schleife ein 'try wrapper' (also ein
Versuche-Wickel) Fehlermeldungen abfängt und die Weichen entsprechend stellt. Die Arbeitsfläche wird mit '-1'
adressiert. Somit richtet man sich immer an die letzte. Auch wenn eine neue eingefügt ist. Es wird also versucht,
eine Seite einzufügen. Wenn es gelingt: okay. Wenn nicht, wenn die Seite auf der Arbeitsfläche keinen Platz mehr hat,
dann gibt es einen Fehler und der 'on error'-Teil wird ausgeführt: eine neue Arbeitsfläche wird eingefügt.

Die Vorteile sind klar: das Script füllt die Arbeitsflächen mit den Seiten, welche Platz haben. Und wenn z.B. schon
drei Seiten existieren, werden die neuen Seiten einfach angehängt:
---
tell document 1 of application "QuarkXPress 4.11"
  set nPages to text returned of (display dialog ¬
    "Wieviele Seiten einfügen?" default answer "9")
  repeat with i from 1 to nPages
    try
      tell spread -1
        make page at end
      end tell
    on error
      make spread at end
    end try
  end repeat
end tell
---
Ist damit Dein Problem gelöst?

Hans Haesler, [email protected]


als Antwort auf: [#418160]

Seite einfügen in XPress

Anonym
Beiträge gesamt: 22827

26. Mai 2003, 22:12
Beitrag # 3 von 4
Beitrag ID: #418162
Bewertung:
(1071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das ging ja superschnell. Und funktionieren tuts auch noch. (Was anderes habe ich in diesem Forum noch nicht erlebt)
Habe das ganze schon in ein Script eingebaut und ausprobiert.

Ich setze XPress 3.3, 4.11 und 5.01 ein.

Für Deine schnelle Anwort noch mal Danke

Rainer


als Antwort auf: [#418160]

Seite einfügen in XPress

Hans Haesler
  
Beiträge gesamt: 5814

27. Mai 2003, 09:01
Beitrag # 4 von 4
Beitrag ID: #418163
Bewertung:
(1071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rainer,

bitte sehr. Achtung: mit QXP 3.32 gibt es mit dem ersten Script eine Fehlermeldung nach Seite 3 und mit dem
zweiten ist das Ergebnis nicht wie gewünscht (drei Seiten nebeneinander und die restlichen untereinander).

Die Lösung: nicht mehr die Arbeitsfläche adressieren.
---
tell document 1 of application "QuarkXPress 3.32"
  set nPages to text returned of (display dialog ¬
    "Wieviele Seiten einfügen?" default answer "9")
  repeat with i from 1 to nPages
    try
      make page at end
    on error
      make spread at end
    end try
  end repeat
end tell
---

Übrigens 1: Mit QXP 3.32 und für ein "normales" Doppelseiten-Dokument ist es notwendig, den Unterschied zwischen
linken und rechten Seiten zu machen: 'make page at end' für rechte Seiten und 'make spread at end' für linke.
Der Test 'if i mod 2 = 0' erlaubt, herauszufinden, ob die aktuelle Zahl gerade oder ungerade ist. Ab QXP 4.04
genügt 'make page at end'. XPress fügt automatisch linke oder rechte Seiten ein.

Übrigens 2: Diese Script-Beispiele sollten mit Tests ausgestattet werden. Ist ein Dokument offen? Kann die Eingabe
des Anwenders in eine Ganzzahl verwandelt werden? Diesen zweiten Punkt werde ich in einem neuen Thema erläutern.

Hans Haesler, [email protected]


als Antwort auf: [#418160]
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.06.2022

Online
Dienstag, 21. Juni 2022, 10.00 - 10.30 Uhr

Webinar

Viele Druckereien – kleine und große – suchen heute nach Wegen, ihre Effizienz und Produktivität zu steigern. Dabei erkennen sie oft, dass sie sich dringend um die Optimierung, Standardisierung und Automatisierung ihrer Workflows und Prozesse kümmern sollten. In unserer kostenlosen, jeweils ca. 30 minütigen Webinar-Reihe erfahren Sie, wie Sie die Effizienz- und Produktivitätspotenziale Ihrer Druckerei erschließen können – und wie einfach und kostengünstig das sein kann.

kostenlose 3-teilige Webinar-Reihe, 21., 23. und 26. Juni 2022, jeweils 10:00 - 10:30

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://impressed-workflow-server.de/impressed-webinar-reihe-the-big-picture/

Impressed Webinar-Reihe THE BIG PICTURE
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/