[GastForen Programmierung/Entwicklung AppleScript Quark und Coerce - keine % Angaben

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

Quark und Coerce - keine % Angaben

Anonym
Beiträge gesamt: 22827

18. Sep 2003, 22:56
Beitrag # 1 von 4
Bewertung:
(1278 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Scripter,

ich scripte unter OS X und die Angaben von Quark kommen unter OS X leider nicht richtig. Ich muß die Angaben umrechnen und möchte nun die Properties Angaben in die realen Zahlen umrechnen. Das funktioniert bei den "bounds" ohne Probleme, aber bei "angle" und "scale" nicht. Wer weiß Rat?

tell application "QuarkXPress Passport™ 4.11"
   tell page 1 of spread 1 of document 1
      set xPref to (get properties of picture box 1)
      set xPrefPict to (get properties of image 1 of picture box 1)
      set xAngle to (angle of image 1 of picture box 1)
      set xAngle to coerce xAngle to real
      log xAngle
      set xRotation to (scale of image 1 of picture box 1)
      set xRotation to coerce xRotation to real
      log xRotation
      set xScale to (scale of image 1 of picture box 1)
      set xScale to coerce xScale
      log xScale
      set xBound to (bounds of picture box x as list)
   end tell
end tell


Vielen Dank für jeden Tipp

happy filemaking

Armin
X

Quark und Coerce - keine % Angaben

Hans Haesler
  
Beiträge gesamt: 5826

23. Sep 2003, 21:25
Beitrag # 2 von 4
Beitrag ID: #418300
Bewertung:
(1277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

in Deinem Script-Beispiel sind die Begriffe 'rotation' und 'scale' in der gleichen Zeile eingesetzt. Ich nehme an, dies ist ein Resultat Deiner verzweifelten Versuche, eine Lösung zu bekommen. Zudem verlangst Du nach Properties, ohne sie aber auszunutzen.

Der Reihe nach: versuche, mit gezielten 'tell'-Instruktionen die Objekte so zu adressieren, dass Wiederholungen (wie 'of image 1 of picture box 1') vermieden werden (siehe Muster unten).

Interessant: Man erzielt einen erheblichen Geschwindigkeitsgewinn, wenn die Properties in eine Variable gelesen werden und dann für die einzelnen Werte diese Variable adressiert wird - und nicht wieder 'image 1 of picture box 1'.

In Deinem Script funktioniert das Umrechnen von 'angle' (die Rotation des Bildes innerhalb der Box). Es kann aber direkter geschehen. Das heisst die Anzahl Befehle bleibt gleich, aber man kann sie in eine Zeile packen.
---
tell document 1 of application "QuarkXPress Passport™ 4.11"
  tell page 1
    tell picture box 1
      tell image 1
        set xPrefPict to properties
        set xAngle to coerce (angle of xPrefPict) to real
        set pScale to coerce (scale of xPrefPict) to list
        set yScale to coerce (item 1 of pScale) to real
        set xScale to coerce (item 2 of pScale) to real
      end tell
    end tell
  end tell
end tell
{xAngle, yScale, xScale}
---
Bei der Rotation (= angle) genügt eine Befehlszeile. Für die beiden Bildprozentwerte benötigt man deren drei. Zuerst muss man den 'percent point' in eine Liste wandeln. Dann müssen die beiden Werte der Liste einzeln in eine Bruchzahl umgewandelt werden.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418299]

Quark und Coerce - keine % Angaben

Anonym
Beiträge gesamt: 22827

23. Sep 2003, 22:09
Beitrag # 3 von 4
Beitrag ID: #418301
Bewertung:
(1277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Zitat von Hans Haesler in Deinem Script-Beispiel sind die Begriffe 'rotation' und 'scale' in der gleichen Zeile eingesetzt. Ich nehme an, dies ist ein Resultat Deiner verzweifelten Versuche, eine Lösung zu bekommen. Zudem verlangst Du nach Properties, ohne sie aber auszunutzen.

Das mit rotation und scale war ein Fehler - hab ich leider erst später entdeckt. Properties - war nur zur Info, was alles in den box properties drin ist - als Gedächtnisstütze.

Zitat von Hans Haesler Der Reihe nach: versuche, mit gezielten 'tell'-Instruktionen die Objekte so zu adressieren, dass Wiederholungen (wie 'of image 1 of picture box 1') vermieden werden (siehe Muster unten). Interessant: Man erzielt einen erheblichen Geschwindigkeitsgewinn, wenn die Properties in eine Variable gelesen werden und dann für die einzelnen Werte diese Variable adressiert wird - und nicht wieder 'image 1 of picture box 1'.

Super Tipp - ist echt schneller. Ich kenne das aus FileMaker und mach das bereits so - dumm nur, das ich nicht daran gedacht habe und das noch nicht bei Quark probiert habe. Was solls, jetzt weiß ich's auch.

Zitat von Hans Haesler In Deinem Script funktioniert das Umrechnen von 'angle' (die Rotation des Bildes innerhalb der Box). Es kann aber direkter geschehen. Das heisst die Anzahl Befehle bleibt gleich, aber man kann sie in eine Zeile packen.

Das Tuning werd ich mit übernehmen - wichtig war erst einmal, das es funktioniert.

Mein Hauptproblem war, das ich die Liste immer in real umwandeln wollte. coerce to list - ist richtig. Ich hab aus den "nicht gewandelten" Werten nicht erkannt, das es eine Liste ist - ist zwar logisch, aber vor lauter Bäumen den Wald nicht gesehen. Das Scripten unter OS X ist mit Quark echt nicht so lustig - es müssen unnötige Umwandlungen vorgenommen werden, die auch Zeit kosten.

Vielen Dank für deine Bemühungen

Armin


als Antwort auf: [#418299]

Quark und Coerce - keine % Angaben

Hans Haesler
  
Beiträge gesamt: 5826

24. Sep 2003, 17:06
Beitrag # 4 von 4
Beitrag ID: #418302
Bewertung:
(1277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Armin,

einverstanden, das Resultat von 'get scale' sieht nicht nach Liste aus:
---
set yx to (scale of xPrefPict)
--> &laquo;data FP% 0001000000010000&raquo;

Aber die Erfahrung mit "normalem" Scripten unter Mac OS 9.x und auch die 'class' sagt uns, dass darin zwei Werte stecken müssen:
---
class of yx
--> percent point

Die obige 16stellige Zahl erhält man, wenn die Bildgrössen je 100% aufweisen. Also: die Stellen halbieren (= "00010000"), die drei führenden Nullen wegmachen (= "10000") und den Dezimalseparator vor den zwei letzten Stellen einfügen (= "100.00").

Doch halt: so einfach ist es nicht, weil die Werte im Hexadezimal-Format sind:
Code
10 = 16; 100 = 256; 1000 = 4096; 10000 = 65536 

Man muss also die Zahl vom Hexadezimal-Format (= 00010000) in einen Integer-Wert (= 65536) umrechnen und dann in Prozente verwandeln (= (65536 / 655.35) div 0.01 / 100). Das Resultat = 100.0

Weil dies alles von XPress dank dem 'coerce'-Befehl souverän erledigt wird, erkläre ich den Hexadezimal-Konverter nicht hier, sondern in einem neuen Thema.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418299]
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
17.04.2024

Online
Mittwoch, 17. Apr. 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

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!