Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

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

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

7. Jul 2004, 15:43
Beitrag # 1 von 14
Bewertung:
(4086 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo AppleScript-Profis,

Nach ettlichen erfolglosen Postings in diversen QuarkXPress-Foren, versuche ich mein Glück nun hier:

Für OS9 und QXP4.11 gab es ein AppleScript, welches alle auf "eingebettete Pfade"-stehenden Bilder (im Modifizieren/Umfließen-Menü) auf "Objekt" stellte und den Hintergrund weiß einfärbte. Allerdings war ich diesbezgl. etwas skeptisch und habe es in der Praxis nie angewandt. Hat jemand Erfahrungen mit diesem Script gemacht oder kann man diesen "Automatismus" unbedenklich in der Produktion einsetzen? Gibt es dieses AppleScript schon in einer OSX-optimierten Variante und für QXP6.x?

In einem amerikanischen Forum habe ich gelesen, Quark hätte - zumindest bis Version 4.x - dieses Feature (Ansprechen des "Clipping Path"-Menüs) nicht supported. Wie aber, funktionierte dann dieses OS9-AppleScript (dessen Name mir leider entfallen ist)? Weiß jemand, ob in QXP6.x ein ansteuern des o.g. Menüs möglich ist?


Oder vielleicht noch eine andere Frage, zwar zu diesem Thema, aber hier etwas "Off-Topic":

Sind eingebettete Pfade in QXP6.1 überhaupt noch eine Fehlerquelle?

Hintergrundinformationen:
Unter QXP4.11 kam es vor allem bei der PDF-Erstellung zu fehlerhaften Bilddarstelllungen, welche oft aussahen, als hätte man per Polygon eine kurios-geformte, weiße Fläche über das Bild gelegt und damit Bildteile abgedeckt.

Die korrekte Definition des Freisteller-Pfades per Photoshop einmal vorausgesetzt, kam es bei Auslieferungen per CD und der damit erforderlichen Aktualisierung modifizierter Bilder - wg. OPI-Workflow - immer wieder mal vor, dass eine Druckerei (aufgrund des "eingebetteten-Pfad-Problems" unter QXP4.11) beim Neuverknüpfen aus Versehen einen falschen, im EPS vorhandenen, aber nicht per Photoshop als Freisteller definierten Pfad "erwischt" hat, und frei nach dem Motto "Augen-zu-und-durch" ganze Auflagen verdruckt hat. :o(

Gruß
Thomas
X

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

7. Jul 2004, 17:02
Beitrag # 2 von 14
Beitrag ID: #418869
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

es stimmt, dass man die Informationen, welche unter "Objekt/Modifizieren/Ausschnit" zu finden sind, nicht per Script zur Verfügung hat. Ein Script, welches dennoch die "Art" von "Eingebetteter Pfad" auf "Objekt" ändert, benutzt diesen einfachen Befehl:
Code
delete clipping path 1 

Das funktionierte mit QuarkXPress 4.11. Aber: mit QuarkXPress 6.1 und derselben EPS-Datei ist das Pop-up-Menü "Art" nicht zugänglich. Und das Anwenden des Scripts wird mit einer Fehlermeldung quittiert.

Wenn aber das Bild als TIFF gespeichert wird, dann kann unter "Art" manuell der Artikel "Objekt" gewählt werden. Und auch dieses Script funktioniert problemlos:
---
tell document 1 of application "QuarkXPress 6.1"
  tell current box
    tell image 1
      delete clipping path 1
    end tell
    set color to "Weiß"
  end tell
end tell
---

Soviel zum AppleScript-Teil Deiner Fragen. Für den grossen Rest kann ich Dir leider keine verbindliche Auskunft geben. Deshalb: eröffne doch ein entsprechendes Thema, hier im obigen QuarkXPress-Forum.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

8. Jul 2004, 13:55
Beitrag # 3 von 14
Beitrag ID: #418870
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Haesler,

danke für die schnelle und kompetente Antwort.

Bei meinen Tests entdeckte ich jedoch gerade folgende Merkwürdigkeit:

1) Photoshop-TIFF mit Pfad (kein Freistellpfad)
->QXP: Ausschnittart frei wählbar
-> AS-Error "clipping path 1 of image 1 of current box of document 1&#147; kann nicht gelesen werden."

2) Photoshop-EPS mit Pfad (kein Freistellpfad)
->QXP: Ausschnittart frei wählbar
-> AS-Error "clipping path 1 of image 1 of current box of document 1&#147; kann nicht gelesen werden."

3) Photoshop-EPS mit Pfad (als Freistellpfad definiert)
->QXP: Ausschnittart nicht wählbar (ausgegraut)
-> Kein AS-Error, Ausschnittart wird per AS korrekt auf "Objekt" gesetzt und ist ab sofort auch manuell frei wählbar.

Diesen Effekt mit korrekt als Freisteller definierten Photoshop-EPSen hatte ich übrigens schon vorher: Gleichartige EPSe mit nur einem FS-Pfad lassen mal in QXP manuell auf "Objekt" umstellen, mal sind sie ausgegraut. Eine Ursache hierfür fand ich bisher nicht!

Dennoch waren Ihre Ergebnisse offensichtlich genau anders herum!? Habe ich eine andere Arbeitsweise?
Mac OSX 10.3.4, QXP 6.1

Gruß Thomas


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

8. Jul 2004, 15:05
Beitrag # 4 von 14
Beitrag ID: #418871
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

bitteschön. Jetzt habe ich mit Photoshop 6.0.1 eine neue CMYK-Datei erstellt und sie
nach Deinen Angaben für die Tests laut den drei Punkten gesichert.

Ergebnisse: beim Unterpunkt "QXP" überall identisch, aber beim Ausführen des Scripts
erhalte ich keine Fehlermeldungen. Beim Punkt 3 kann ich den Pfad manuell auf
"Eingebetteter Pfad" umstellen. Aber nach "OK" und erneutem Aufrufen des Dialoges
ist das Menü wieder ausgegraut.

Ich habe auch das Dokument von gestern wieder geöffnet und nun gibt es beim EPS-Bild
ebenfalls keine Fehlermeldung mehr &#133;

Für die Fehlermeldungen, welche Du bei den Punkten 1 und 2 erhältst, habe ich nur
eine Erklärung: Die Bildbox ist nicht ausgewählt ;-)

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

8. Jul 2004, 17:32
Beitrag # 5 von 14
Beitrag ID: #418872
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans!

Ah ja, da haben wir offensichtlich den Knackpunkt: ich hantiere mit Photoshop 7.0.1 und (im Gegensatz zu Deinen PS6.0.1-Bildern) springt die Einstellung (bei neu-angelegter Bildbox) im Fall:

1) Sofort korrekt auf "Objekt", aber manuell frei wählbar
2) Sofort korrekt auf "Objekt", aber manuell frei wählbar
3) Sofort falsch auf "Eingebetteter Pfad", ausgegraut und per QXP nicht änderbar

Ich als "Non-Programmer" vermute nun also, dass das Script in meinem Fall abbricht, weil die Einstellung bereits auf "Objekt" steht und der Befehl "delete clipping path 1" ins Leere greift!?

Im  Punkt 3 hingegen ändert das Script wunschgemäß die Einstellung auf  "Objekt" und gibt dadurch auch die manuelle Editierung in QXP wieder frei.
Leider, wie Du auch schon festgestellt hast, nur solange, bis 1x die manuelle Einstellung "Eingebetteter Pfad" mit OK bestätigt wurde. Ab dann ist sie wieder ausgegraut und für den "simplen Quark-Nutzer" gesperrt. :(

Jetzt müsste ich "nur" noch das alte OS9-Script wiederfinden (schon das wird schwierig) und hoffen, dass es unter OSX noch läuft (vmtl. aussichtslos!?).

Oder lässt sich Dein Script (mit wenigen Zeilen mehr?) so ergänzen, dass es ein offenes QXP-Dokument nach der "eingebetteten Pfad"-Einstellung durchsucht (egal, ob TIFF, EPS, etc.) und den entsprechenden Bildrahmen "einfach nur" (zur manuellen Korrektur) aktiviert?


>>  Für die Fehlermeldungen, welche Du bei den Punkten 1 und 2 erhältst, habe ich nur eine Erklärung: Die Bildbox ist nicht ausgewählt ;-)

Ein Schelm, wer nicht alle Möglichkeiten ausschließt! :o))

Gruß Thomas


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

8. Jul 2004, 18:07
Beitrag # 6 von 14
Beitrag ID: #418873
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,
Zitat Ah ja, da haben wir offensichtlich den Knackpunkt:

Nein, haben wir nicht. ;-) Mit "... beim Unterpunkt "QXP" überall identisch..." meinte ich, dass ich dasselbe
sehe wie Du. Einzig die Fehlermeldungen bekam ich nicht. Aber jetzt habe ich auch kapiert warum: Weil ich
zuerst manuell auf "Eingebetteter Pfad" umstellte und erst dann das Script startete.

Wenn ich das Script laufen lasse, wenn der Menüartikel auf "Objekt" steht, bekomme ich auch die Fehlermeldung.

Mein Script lässt sich sehr wohl ergänzen. Aber es braucht dazu schon etwas mehr als ein paar Zeilen, weil
ausser der üblichen Tests: Ist ein Dokument offen? Sind Bildboxen vorhanden usw., noch eine Beschleunigung
der Ausführung eingebaut werden muss.

Ich gehe aber jetzt erst mal nach Hause und werde heute Abend versuchen, etwas zu entwickeln.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

8. Jul 2004, 22:48
Beitrag # 7 von 14
Beitrag ID: #418874
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

und hier ist eine erste Version des versprochenen Scripts. Bitte probiere es aus und sage mir, was noch fehlt
(z.B. der Wechsel der Hintergrundfarbe). Zum Abspielen am besten im QXP-Script-Menü-Ordner versorgen.
---
global docRef

tell application "QuarkXPress 6.1"
  activate
  try
    set initVar to do script {initialChecks}
    if (count of initVar) = 2 then
      error (item 1 of initVar) number (item 2 of initVar)
    end if
    set docRef to item 1 of initVar
    do script {delClippingPath}
  on error errMsg number errNum
    display dialog errMsg & " [" & errNum & "]" buttons "OK" default button 1 with icon 0
    return
  end try
end tell

script initialChecks
  tell application "QuarkXPress 6.1"
    try
      if not (exists document 1) then error "Bitte ein Projekt öffnen."
      tell document 1
        set docRef to object reference
        if masterdoc is true then set docRef to object reference of &not;
          master document 1 of application "QuarkXPress 6.1"
      end tell
      tell docRef
        if not (exists picture box 1) then error "Dieses Projekt enthält keine Bildboxen."
        set selection to null
      end tell
      return {docRef}
    on error errMsg number errNum
      return {errMsg, errNum}
    end try
  end tell
end script

script delClippingPath
  tell application "QuarkXPress 6.1"
    tell docRef
      repeat with i from 1 to count of picture boxes
        tell picture box i
          tell image 1
            if exists clipping path 1 then
              delete clipping path 1
            end if
          end tell
        end tell
      end repeat
    end tell
  end tell
end script
---
Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

9. Jul 2004, 11:31
Beitrag # 8 von 14
Beitrag ID: #418875
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

schonmal ein erstes DANKE für das verbesserte Script! In 3 von 4 Tests funktionierte es wunderbar. In 1 QXP-Doku (80 Seiten mit durchschnittl. 10 Bildern pro Seite) jedoch friert es mein geöffnetes Dokument ein: QXP-Paletten lassen sich zwar weiter anwählen, das Dokument reagiert aber nicht mehr und nur durch "Sofort beenden" von Quark ist aller wieder paletti. Die Ursache hierfür ist momentan aber zweitrangig, denn:

>> "...probiere es aus und sage mir, was noch fehlt..."
Das ist ja wie Weihnachten und Ostern zusammen! :)

Also, ohne unverschämt werden zu wollen, habe ich mir intensiv Gedanken und ettliche Tests gemacht und dabei festgestellt, dass zwei Eigenheiten (oder gar Bugs) von Quark 6 hier das Scripten erschweren:

1) Da das "Ausschnitt/Art"-Menü von Quark nicht direkt AppleScript unterstützt, lassen sich per AS vmtl. die o.g. Fälle 2+3 nicht eindeutig voneinander unterscheiden. In der Praxis jedoch, werden hier meist zwei unterschiedliche Hintergrundfarben für die Bildrahmen benötigt (abhängig vom definierten oder nicht-definierten Freistellerpfad des platzierten EPS)

2) Bei Änderung der Einstellung "Eingebetteter Pfad" auf Objekt (und auch bei Löschen des Clippingpfad per AS) springt die Farbe von Bildboxen mit transparentem Hintergrund (übrigens seit QXP4.x schon) wie von Geisterhand auf "Weiss" :(


Berücksichtigt man diese beiden Umstände und möchte dazu noch größtmögliche Sicherheit durch optische Kontrolle, so ergibt sich nach meiner persönlichen Ansicht und Praxiserfahrung untenstehender, optimaler "Script-Fahrplan". -
Solltest Du Dich also irgendwann einmal langweilen ;) würdest Du mit dessen Umsetzung mir - und sicher auch vielen anderen DTPlern - eine rießige Freude bereiten!  :D 

Scriptstart per QXP-Scriptmenü
---
Suche, zeige und aktiviere Bildbox des 1. gefundenen Clippingpfad
Zeige Dialogbox "Clippingpfad dieses Bildes löschen?" mit Button 1 "Nein" und Button 2 "Ja"
   Wenn "Nein", dann (gehe zur letzten Zeile)
   Wenn "Ja", dann
      Lösche Clippingpfad und
      lese Hintergrundfarbe des aktuellen Bildrahmens aus (WICHTIG: Auslesen erst nach Löschen d. Clippingpfad !), schreibe sie in Variable "hg" und
      zeige Dialogbox "Aktuelle Hintergrundfarbe ist 'hg'! Korrigieren?"
      mit Button 1 "Nein", Button 2 "Weiss" und Button 3 "Transparent"
            Wenn "Nein", dann (gehe zur letzten Zeile)
            Wenn "Weiss", dann setze Hintergrundfarbe des aktuellen Bildrahmens auf "Weiß" und zeige Dialogbox "Hintergrund wurde auf Weiß geändert!" mit Button "OK" (bietet die Möglichkeit der optischen Kontrolle des geänderten Bildrahmens)
            Wenn "Transparent", dann setze Hintergrundfarbe des aktuellen Bildrahmens auf "Transparent" und zeige Dialogbox "Hintergrund wurde auf Transparent geändert!" mit Button "OK" (bietet die Möglichkeit der optischen Kontrolle des geänderten Bildrahmens)

Suche, zeige und aktiviere die Bildbox des nächsten gefundenen Clipping-Path
---

Nett wäre noch ein kurzer Hinweis, wenn das Script beendet ist, z.B. "Alle Clippingpfad-Einstellungen wurden nach Ihren Wünschen korrigiert!" :)

Außer Deinen schon enthaltenen "üblichen Tests" fällt mir momentan keine weitere Sicherheitsabfrage ein, die integriert werden müsste. Hierbei setze ich einfach mal voraus, dass jemand, der AppleScript in der Produktion einsetzt, dies nicht blind, sondern sehr bedacht und aufmerksam tut. :wink:

Mit freundlichen Grüßen
Thomas


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

9. Jul 2004, 13:55
Beitrag # 9 von 14
Beitrag ID: #418876
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

bitteschön. Also langweilen werde ich mich voraussichtlich bis Mitte Dezember nicht &#133; Unter (vielem) anderen bin ich damit beschäftigt, meine ausserberuflichen Schulungs-Unterlagen von QXP 4.11 auf 6.1 upzudaten. Und falls genügend Leute gefunden werden können, muss ich die Kurse auch durchführen.

Deshalb werde ich versuchen, übers Wochenende zwischenhinein Deine Anregungen umzusetzen. Allerdings hoffe ich, dass nicht allen der 80 mal 10 Bildern ein Pfad zugewiesen ist. Sonst gäbe es (vorausgesetzt, dass alle Pfade gelöscht werden sollen) 2401 Dialoge, welche der geplagte Anwender während einer Sitzung beantworten müsste &#133;

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

9. Jul 2004, 14:35
Beitrag # 10 von 14
Beitrag ID: #418877
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

prima, das sind doch rosige Aussichten - nur 2401 Klicks? :)
Müsste man (wie im Moment noch) alles manuell überprüfen und korrigieren, wären es (die Zeit für die menschliche Suche nach dem Bildrahmen und dessen Aktivieirung mal großzügig außer Acht gelassen) immerhin 4001 Klicks (den letzten "Save" mal mitgerechnet) :)

Zum Glück beträgt jedoch der fehlerhafte Prozentsatz - je nach Kunde - "nur" zwischen 20% und 80%

Aber Dein Argument ist nicht ganz von der Hand zu weisen und ich wäre durchaus damit einverstanden, die beiden "OK"-Klicks zur optischen Kontrolle (nach Änderung des Pfades/der HG-Farbe) gegen ein - sagen wir mal - 2 Sekunden-Warte-Intervall auszutauschen. Dann wären im "worst case" dieses Dokuments immerhin 1600 Klicks eingespart und es stünden nur noch 801 Dialoge den 4001 manuellen Fingertips gegenüber. :)

Und mit wachsender Bilder- und Seitenzahl der Dokumente (was keine Seltenheit ist) wächst mit Sicherheit auch der Spaß bei der Benutzung des Scripts! :D

Wünsche trotzdem schönes Wochenende 8)
Gruß Thomas


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

12. Jul 2004, 09:15
Beitrag # 11 von 14
Beitrag ID: #418878
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

hier ist das nach Deinen Wünschen erweiterte Script. Es ist inzwischen auf 144 Zeilen angewachsen,
obwohl ich alle Kommentare weggelassen habe. Mal schauen, ob die Länge eines Postings beschränkt ist &#133;

---
global docRef

tell application "QuarkXPress 6.1"
  activate
  try
    set initVar to do script {initialChecks}
    if (count of initVar) = 2 then
      error (item 1 of initVar) number (item 2 of initVar)
    end if
    set docRef to item 1 of initVar
   
    my searchClippings()
   
  on error errMsg number errNum
    set tools showing to true
    if errNum is not -128 then
      display dialog errMsg & " [" & errNum & "]" buttons "OK" default button 1 with icon 0
    end if
    return
  end try
end tell

script initialChecks
  tell application "QuarkXPress 6.1"
    try
      if not (exists document 1) then error "Bitte ein Projekt öffnen."
      tell document 1
        set docRef to object reference
        if masterdoc is true then set docRef to object reference of &not;
          master document 1 of application "QuarkXPress 6.1"
      end tell
      tell docRef
        if not (exists picture box 1) then error "Dieses Projekt enthält keine Bildboxen."
        set selection to null
      end tell
      set tools showing to false
      return {docRef}
    on error errMsg number errNum
      return {errMsg, errNum}
    end try
  end tell
end script

on searchClippings()
  tell application "QuarkXPress 6.1"
    tell docRef
      repeat with i from 1 to count of picture boxes
        set selection to null
        tell picture box i
          tell image 1
            if exists clipping path 1 then
              my showPictbox(i)
              my askUser1(i)
            end if
          end tell
        end tell
      end repeat
      my infUser()
    end tell
  end tell
end searchClippings

on showPictbox(i)
  tell application "QuarkXPress 6.1"
    tell docRef
      show picture box i
      set selected of picture box i to true
    end tell
  end tell
end showPictbox

on askUser1(i)
  tell application "QuarkXPress 6.1"
    set userDecision to button returned of &not;
      (display dialog "Clippingpfad dieses Bildes löschen?" buttons {"Abbruch", "Nein", "Ja"})
    if userDecision = "Ja" then
      my delClippingPath(i)
      set hg to my getColor(i)
      my askUser2(i, hg)
    end if
  end tell
end askUser1

on delClippingPath(i)
  tell application "QuarkXPress 6.1"
    tell docRef
      tell picture box i
        tell image 1
          if exists clipping path 1 then
            try
              delete clipping path 1
            end try
          end if
        end tell
      end tell
    end tell
  end tell
end delClippingPath

on getColor(i)
  tell application "QuarkXPress 6.1"
    tell docRef
      tell picture box i
        set hg to name of color
      end tell
    end tell
  end tell
  return hg
end getColor

on askUser2(i, hg)
  tell application "QuarkXPress 6.1"
    set corrDecision to button returned of (display dialog "Aktuelle Hintergrundfarbe ist
" & hg & "

Korrigieren?" buttons {"Nein", "Weiß", "Transparent"} with icon 1)
    if corrDecision = "Weiß" then
      set bg to "Weiß"
      my corrBackGround(i, bg)
    else if corrDecision = "Transparent" then
      set bg to null
      my corrBackGround(i, bg)
    end if
  end tell
end askUser2

on corrBackGround(i, bg)
  tell application "QuarkXPress 6.1"
    tell docRef
      tell picture box i
        set color to bg
      end tell
    end tell
    if bg = null then set bg to "Transparent"
    display dialog "Hintergrundfarbe wurde auf " & bg & " geändert!" with icon 1
  end tell
end corrBackGround

on infUser()
  tell application "QuarkXPress 6.1"
    set tools showing to true
    display dialog "Alle Clippingpfad-Einstellungen wurden
nach Ihren Wünschen korrigiert!" buttons "OK" default button 1 with icon 1
  end tell
end infUser
---
Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Anonym
Beiträge gesamt: 22827

12. Jul 2004, 18:40
Beitrag # 12 von 14
Beitrag ID: #418879
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans :)

ein dickes DANKE für diese Scriptversion! Sie funktionierte in all meinen Tests tadellos. :)

Folgende Kleinigkeit (mal abgesehen vom gesamten Scriptcode) verstehe ich allerdings nicht ganz:
Während Quark beim manuellen Ändern der Clipping-Art von "Eingebetteter Pfad" in "Objekt" nur gelegentlich die Hintergrundfarbe des betreffenden Bildrahmens (unaufgefordert) in Weiß ändert, scheint dies bei der Änderung durch das AS die Regel zu sein (zumindest immer wenn sie zuvor auf "Transparent" stand)!?
Ob das daran liegen kann, dass die gewählte Pfad-Einstellung (Eingebettet) vom AS quasi mit der "Hammermethode" gelöscht wird?

Und wie so oft, kommen einem manche Ideen erst im Praxistest und bei sehr umfangreichen Dokumenten (derer ich hier z.Zt. massig habe):

Denn noch ettliche User-Klicks mehr hätte man sich vmtl. erspart, wenn man die 1. Userabfrage "Clippingpfad löschen?" gegen eine 4fach-Wahlmöglichkeit eingetauscht hätte:
1) "Nein"
2) "Ja, aber HG-Farbe nicht ändern"
3) "Ja und HG-Farbe in Weiß ändern"
4) "Ja und HG-Farbe in Transparent ändern" (Default Button)

Damit wäre der 2. Userdialog komplett eingespart, wobei man darauf achten müsste, dass
- bei Wahl 3) + 4) die gewählte Hintergrundfarbe natürlich erst NACH der "Willkür-Änderung" von Quark nach User-Wunsch korrigiert wird
- bei Wahl 2) die gewählte Hintergrundfarbe vor Löschen des Clippingpfads ausgelesen und nach der "Willkür-Änderung" von Quark wieder zugewiesen wird
Zur optischen Kontrolle könnte wieder die zu bestätigende Meldung erscheinen: "Pfad wurde gelöscht und HG-Farbe auf 'hg' korrigiert!" (Buttons "Abbruch und "Weiter")

Dies wäre dann allerdings die "Deluxe"-Variante des Scripts und erfordert vtml. wieder sehr umfangreiche Änderungen im Code!?
...deshalb möchte ich keinesfalls undankbar sein, mich mit der "Standard-Edition" des "QXP6-ClippingFinders" zufrieden geben und hier nochmal artig DANKE sagen!!!

Wo muss ich jetzt Dein Copyright unterbringen? :)

Obwohl ich sonst mehr der reine (Software-)Anwender bin, macht mir das Ganze gerade anhand dieses Beispiels wieder mächtig Appetit, mich doch auch mal ernsthaft mit AppleScript zu beschäftigen. Leider warte ich seit fast zwei Jahren auf das für 2002 angekündigte Erscheinen eines AppleScript-Buches von Jürgen Kocka(?). Meine Vermutung war, dass sich der Veröffentlichungstermin aufgrund der Strukturänderung durch OSX so lange hinauszögert!? Leider finde ich es jetzt bei Amazon.de gar nicht mehr. :( Beim googeln findet man viele Links ohne konkrete Hinweise auf das Macintosh-Betriebssystem. Kann mir jemand (am Besten aus eigener Erfahrung) ein AS-Buch empfehlen, welches bereits auf OSX-Scripting ausgelegt und dennoch geeignet für einen AS-Einsteiger ist?

Eine erfolgreiche Arbeitswoche wünscht
Thomas


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

12. Jul 2004, 23:07
Beitrag # 13 von 14
Beitrag ID: #418880
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

bitteschön!

Das Ändern der Hintergrundfarbe beim Wechsel des Umfliessen-Zustandes oder der Clipping-Art muss man als
hilfreich gemeintes "Feature" hinnehmen.

Mit "Vanilla"-AppleScript (also ohne jegliche fremde Hilfsmittel) sind in Dialogen nur drei Buttons verfügbar.
Bei klick-intensiven Sitzungen muss man aber dem Anwender zuliebe zwingend einen "Abbruch"-Button vorsehen.
Bleiben also noch zwei Buttons übrig.

Für die "Deluxe"-Variante des Scripts braucht man demzufolge fremde Hilfe. Den Einsatz von AppleScript-Studio
habe ich noch nicht studiert. Auch "FaceSpan" nicht. Bleiben noch "Smile", der Freeware-Skripteditor, mit
welchem personalisierte Dialoge konstruiert werden können. Aber auch hier habe ich noch kein praktisches Beispiel
hergestellt. Zum einen aus Zeitmangel. Zum anderen aus Abneigung zu diesem gewöhnungsbedürftigen Editoren.

Deshalb schlage ich für's erste vor, das Progrämmchen Pashua einzusetzen. Mit dessen Hilfe können auch erweiterte
Dialoge erzeugt werden. Allerdings muss man pixelgenaues Positionieren der Objekte (wie unter Mac OS 9 vom
genialen "Dialog Director" gewohnt), vergessen.

Das nach Deinen neuen Wünschen abgeänderte Script ist bereit (mein Copyright habe ich per "Pashua" eingefügt :-).

Allerdings ist jetzt die Länge des Scripts nicht mehr geeignet, um per Forum-Posting ausgetauscht zu werden.
Bitte sende mir ein privates Mail und ich stelle Dir umgehend das Script zu. Anschliessend ist es natürlich
nicht verboten, hier davon zu schwärmen. ;-)

Zum Thema "Bücher": Ich habe mehrere davon. Aber die verstauben auf dem Büchergestell &#133;

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]

Eingebettete Pfade in QuarkXPress per Applescript ansteuern?

Hans Haesler
  
Beiträge gesamt: 5826

11. Okt 2004, 12:49
Beitrag # 14 von 14
Beitrag ID: #418881
Bewertung:
(4085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

das Script wurde immer umfangreicher. Deshalb haben Thomas und ich die Diskussion offline weitergeführt. Aber jetzt ist es soweit: Wer sich dafür interessiert, kann das Script herunterladen: http://www.fachhefte.ch / dann die Ordner "mac_os_x_d" und "qxp_6_1" öffnen und die Datei "DelClip_BPCheck.sit" wählen. Das Stuffit-Archiv wiegt 160 KB.

In Kürze, was das Script kann: Nach dem Start zeigt es die Anzahl der vorhandenen, aktivierten Clippingpfade an und der Anwender kann wählen, ob er die Clippingpfade behandeln, oder einen Check der Bildpfade durchführen will.

Beim Clippingpfad-Check werden der Reihe nach die Bildboxen angezeigt, welche ein Bild mit aktiviertem Clippingpfad enthalten. Bei jedem kann der Anwender entscheiden, ob der Pfad deaktiviert und ob die Hintergrundfarbe der Box geändert werden soll. Zusätzlich wird das Bild auf Wunsch im Hintergrund in Photoshop geöffnet. Am Schluss kann ein Bildpfad-Check ausgelöst werden.

Beim Clippingpfad-Check werden die Bilddateien nach verschiedenen Kriterien geprüft. Fehlende oder modifizierte Dateien werden in einer Rapportdatei notiert, welche am Schluss in ein neues XPress-Projekt kopiert wird.

Beim Bildpfad-Check werden sämtliche Bilddateien geprüft, auch jene, welche keinen Clippingpfad enthalten. Auch hier werden eventuelle Probleme rapportiert und zuletzt in ein neues XPress-Projekt kopiert.

Das Script ist speziell für ein OPI-System ausgelegt, bei welchem die Grobdaten in Ordnern namens "layouts" erzeugt werden. Wer das Script benutzen möchte, aber Grobdaten mit der Endung ".lay" benutzt, der verlange bitte bei mir eine entsprechend angepasste Version.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418868]
X