[GastForen Programmierung/Entwicklung AppleScript Automatische Numerierung auf Musterseiten

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

Automatische Numerierung auf Musterseiten

Hans Haesler
  
Beiträge gesamt: 5826

8. Apr 2003, 09:27
Beitrag # 1 von 1
Bewertung:
(874 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Per Script Boxen auf Musterseiten zu erzeugen ist nicht so schwierig. Man muss nur die Hierarchie beachten:
'tell application "QuarkXPress 4.11" / tell master document 1 / tell page 1 of spread 1'

Wichtig: beim Ablauf eines Scripts nie die Musterseite anzeigen. Das Resultat wäre: eine Fehlermeldung oder ein Absturz oder ein
Fehlverhalten, wenn man wieder im Dokument ist.

Die Aufgabe: ein neues, doppelseitiges Dokument anlegen und auf der linken und rechten Seite von "A-Muster A" automatische Seiten-
zahlen erzeugen. Das folgende Script kann ausgebaut werden. Es ist bewusst einfach gehalten, damit der Code nicht zu lange wird.
Aus dem gleichen Grund enthält es keine Kommentare. Deshalb zuerst einige Erklärungen.

Zu Beginn wird das Seitenformat wird mit den Variablen 'pWidth' und 'pHeight' bestimmt. Der Vorteil des Gebrauchs von Variablen:
Für ein neues Format muss man nur diese zwei Werte ändern und nicht überall im Script nach der Breite und der Höhe fahnden.

Zwei weitere Variablen werden festgelegt: 1. Der Pfad zum Ordner "Scripting Additions" inklusive Dateiname. 2. Eine Textkette,
welche den Kürzel "Befehl-3" im XPress-Tags-Format bildet. Anschliessend wird versucht, diesen String in die Datei zu schreiben.

Dann wird das 'default document' (das Vorgabedokument) vorbereitet. Es könnten noch mehr Attribute festgelegt werden. Hier sind
es nur die notwendigsten: die Masseinheiten, Doppelseiten, keine automatische Textbox und die Breite und Höhe.

Die Checkbox "Einschließlich Stilvorlagen" des Dialogs "Text laden" wird durch 'set import styles to true' aktiviert. Der Anwender
bekommt diesen Dialog nicht zu sehen. Aber weil die automatische Seitennummer in der Datei "AutoNumber.xtg" im XPress-Tags-Format
ist, muss sichergestellt werden, dass die Checkbox aktiviert ist, damit die Umwandlung vorgenommen wird.

Ein neues Dokument wird erzeugt. Mit 'tell page 1 of spread 1' wird die linke Musterseite von "A-Muster A" adressiert. Eine Textbox
wird erzeugt mit den 'bounds', vier Werte der Positionen der Ränder: {pHeight - 11, 15, pHeight - 5, 45}. Die Werte 1 und 3 sind die
vertikalen Parameter. Ausgehend von der Seitenhöhe werden einmal 11 und einmal 5 mm abgezogen. Dies ergibt eine Boxenhöhe von 6 mm.
Horizontal ist es einfacher: der zweite Wert ist '15' und der vierte '45'. Die Box ist also 30 mm breit.

Anschliessend wird die am Anfang erzeugte Textkette mit 'set properties to {contents:tagsPath as alias...' geladen. Die weiteren
Attribute betreffen die Schriftgrösse (= size:11), die Schrift (= font:"Helvetica") und die Ausrichtung nach links (= justification:
left justified).

Dann wiederholt sich das Ganze für die rechte Seite (= 'tell page 2 of spread 1'). Zwei Unterschiede: für die horizontalen Werte der
Box wird auch die Seitenbreite benötigt, wenn man die Position der Pagina jene der linken Seite spiegeln soll. Und die Ausrichtung
ist logischerweise nach rechts (= justification:right justified).
---
set pWidth to 210
set pHeight to 297
set tagsPath to (path to scripting additions folder as string) & "AutoNumber.xtg"
set aStr to "<\\3>"
try
  open for access file tagsPath with write permission
  set eof of file tagsPath to 0
  write aStr to file tagsPath
  close access file tagsPath
on error
  try
    close access file tagsPath
  end try
end try

tell application "QuarkXPress 4.11"
  activate
  tell default document 1
    set properties to &not;
      {horizontal measures, vertical measures &not;
        , facing pages:true, automatic text box:false &not;
        , page width:pWidth, page height:pHeight}
  end tell
  set import styles to true
  make document at beginning
  tell master document 1
    tell page 1 of spread 1
      make text box at beginning with properties &not;
        {bounds:{pHeight - 11, 15, pHeight - 5, 45}}
      tell text box 1
        tell story 1
          tell paragraph 1
            set properties to {contents:tagsPath as alias, size:11 &not;
              , font:"Helvetica", justification:left justified}
          end tell
        end tell
      end tell
    end tell
    tell page 2 of spread 1
      make text box at beginning with properties &not;
        {bounds:{pHeight - 11, pWidth - 45, pHeight - 5, pWidth - 15}}
      tell text box 1
        tell story 1
          tell paragraph 1
            set properties to {contents:tagsPath as alias, size:11 &not;
              , font:"Helvetica", justification:right justified}
          end tell
        end tell
      end tell
    end tell
  end tell
end tell
---
Man könnte natürlich auch mit einem Dialog die Grösse der Seite erhalten. Vorteil: das Script muss nicht verändert werden. Aber das
gibt erheblich Mehraufwand für den Scripter: die Eingabe muss getestet werden. Sind es zwei Werte? Sind es Zahlen? Liegen sie im
Bereich des Möglichen? Wenn alles stimmt, okay. Sonst muss man den Anwender informieren.

Übrigens: mit 'tell page 1 of spread 2' und 'tell page 2 of spread 2' werden die linken und rechten Seiten von "B-Muster B" adressiert.
Mit QXP 5.01 funktioniert das auch (im Gegensatz zum Erzeugen von Hilfslinien). Aber die Boxen sind nicht sofort sichtbar. Man muss
entweder die Musterseite zuweisen (manuell oder per Script) oder die Musterseite anzeigen und wieder zurück ins Dokument schalten.

Hans Haesler, hsa@ringier.ch
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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

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? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!