[GastForen Programmierung/Entwicklung AppleScript XPress: Absatzlinie oben auslesen

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

XPress: Absatzlinie oben auslesen

Goar
Beiträge gesamt: 395

10. Jun 2003, 17:59
Beitrag # 1 von 2
Bewertung:
(873 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum,

bei der automatischen Aufbereitung von Headlines könnte mir ein Skript gute Dienste leisten. Es ist ja eigentlich schon fertig, bloß ist mir da ein Problem aufgefallen.

In meinem Script gibt es folgende Passage:
---
tell paragraph i
  set zab to leading as real
  set abstvor to space before as real
  set linoben1 to position of rule above as real
  set linoben2 to rule above -- als alternative Abfrage
  set param to properties of paragraph i -- sogar das habe ich in verschiedenen Abwandlungen probiert
end tell
---
Um bestimmte Einstellungen in einem (Headline-)Absatz automatisch ändern zu können, frage ich zunächst den Zeilenabstand, den Abstand vor und die Absatzlinie oben ab. Die beiden ersten klapp(t)en immer, die Abfrage zur Absatzlinie gab mal ein richtiges, mal ein falsches Ergebnis, wie ich im Eventprotokoll sah.

Es dauerte eine ganze Weile, bis ich herausbekam, dass die Abfrage zur Absatzlinie immer die Parameter des Absatzes ergab, in dem meine Einfügemarke stand, auch wenn ich die Abfrage außerhalb des tell-Ausdrucks (wie nennt man das eigentlich richtig?) positioniert habe. Auch...
Code
  set linoben2 to rule above of paragraph i 

... half nicht weiter, es brachte überhaupt kein Ergebnis.

Wenn es gelänge, die Einfügemarke in 'paragraph i' zu positionieren, oder in diesem Absatz irgend etwas zu markieren, käme ich vielleicht auf diesem Wege an die gesuchten Parameter; aber das habe ich schon früher vergeblich versucht.
Oder ist es möglich, die Parameter von angelegten Stilvorlagen auszulesen? Denn an den Namen der Stilvorlage des jeweiligen paragraph i komme ich ja.

Wer weiß weiter?
X

XPress: Absatzlinie oben auslesen

Hans Haesler
  
Beiträge gesamt: 5826

10. Jun 2003, 22:16
Beitrag # 2 von 2
Beitrag ID: #418182
Bewertung:
(872 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

sehr gut beobachtet! Respekt! Ja, dies ist eines der grossen (aber nicht unüberwindbaren) Probleme mit QuarkXPress 4.11:
um korrekte Informationen über die Absatzlinien zu erhalten, muss der Absatz ausgewählt sein. Gut, es genügt, das erste
Zeichen auszuwählen oder die Einfügemarke im Absatz zu positionieren.

Das Abfragen von Stilvorlagen ist mit der QXP 4.11 ein noch grösseres Problem: direkt (wie mit QXP 3.32) ist unmöglich.
Man muss die Stilvorlage einem Absatz zuweisen und dann diesen abfragen.

Das folgende Script wählt das erste Zeichen des Absatzes aus. Dies kann nicht in der Repeatschleife selber geschehen.
Es braucht den Aufruf eines Handlers, damit die Selektion richtig formuliert werden kann:
---
tell document 1 of application "QuarkXPress 4.11"
  activate
  tell current box
    tell story 1
      repeat with i from 1 to count paragraphs
        my selPara(i)
        tell paragraph i
          set linoben1 to position of rule above as real
        end tell
      end repeat
    end tell
  end tell
end tell

on selPara(i)
  tell document 1 of application "QuarkXPress 4.11"
    try
      set selection to character 1 of paragraph i of story 1 of current box
    end try
  end tell
end selPara
---
Das Wörtchen 'my' vor 'selPara(i)' ist zwingend notwendig, weil man sich innerhalb einer 'tell application QXP'-Schleife
befindet. Und das 'i' innerhalb der Klammern übergibt den Wert des Zählers an den Handler. Der 'try' wrapper verhindert
eine Fehlermeldung, wenn ein Return am Textende einen leeren Absatz verursacht hat.
Variante (zum Setzen der Einfügemarke):
Code
       set selection to insertion point before first character of paragraph i of story 1 of current box 

Mit diesem Vorgehen erhält man immer die richtige Position der Linie. Aber: man sollte zugleich feststellen, ob die
Absatzlinie aktiviert ist oder nicht. Dies geschieht mit 'if rule on of rule above is true then' und könnte so
eingebaut werden:
---
        tell paragraph i
          set zab to leading as real
          set abstvor to space before as real
          tell rule above
            if rule on is true then
              set linoben1 to position as real
              my modPara(i)
            end if
          end tell
        end tell
---
Der Aufruf 'my modPara(i)' geht an einen noch zu definierenden Handler. Ich nehme an, dass die Werte 'zab', 'abstvor'
und 'linoben1' auch berücksichtigt werden müssen. Aber weil ich den Überblick nicht habe, lasse ich es bei diesen
Andeutungen bewenden.

Hans Haesler, hsa@ringier.ch


als Antwort auf: [#418181]

Aktuell

PDF / Print
enfocus_300

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!