Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript Doppelseite rechts anhaengen

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

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

22. Mär 2004, 17:17
Beitrag # 1 von 16
Bewertung:
(3579 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum,

Ich möchte unter QX4.11 bei vorhandenem doppelseitigen Dokument, eine neue Doppelseite RECHTS anhängen.

Gibt es da per Script eine Möglichkeit?

Gruss willem
X

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

22. Mär 2004, 17:50
Beitrag # 2 von 16
Beitrag ID: #418698
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ja, es gibt eine Möglichkeit:
---
tell document 1 of application "QuarkXPress 4.11"
  tell current spread
    make page at end
  end tell
end tell
---
Dieses Snippet setzt voraus, dass die Arbeitsfläche, auf welcher
Du die Seite einfügen willst, ausgewählt ist.

Bitte versuch es mal damit.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

23. Mär 2004, 08:24
Beitrag # 3 von 16
Beitrag ID: #418699
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

soweit funktioniert es, aber die rechts platzierte Seite ist nur eine Einzelseite, obwohl ich vorher beide Seiten ausgewählt habe.

Danke und Gruss
willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

23. Mär 2004, 10:54
Beitrag # 4 von 16
Beitrag ID: #418700
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

der Grund dafür ist, dass XPress jene Art von Seite einfügt, welche zuletzt manuell
irgendwie bestimmt wurde. Zum Beispiel, wenn eine Einzel-Seiten-Musterseite erzeugt wurde.

Abhilfe: präzisieren, welche Musterseite eingefügt werden soll &#133;
---
tell document 1 of application "QuarkXPress 4.11"
  tell current spread
    make page at end with properties {master spread:"A-Muster A"}
  end tell
end tell
---
&#133; wobei die Namen natürlich genau übereinstimmen müssen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

26. Mär 2004, 10:54
Beitrag # 5 von 16
Beitrag ID: #418701
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das mit der angehängten Seite klappt.

Nun möchte ich das Script noch um 2 Punkte erweitern:
1. Alle selektierten Boxen sollten dupliziert werden (mit Verschiebung in X um die Seitenbreite)
2. Der Inhalt der Boxes soll entfernt und mit Cyan 100% eingefärbt werden.

(Das Ganze teste ich für transparente weiche Schatten mit anschl. Photoshop-Droplet)

Falls machbar
Danke
willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

26. Mär 2004, 12:19
Beitrag # 6 von 16
Beitrag ID: #418702
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

Du bist immer wieder für eine überraschende Aufgabenstellung gut! ;-)

Welche Art von Boxen sind ausgewählt? Dieses Script Bild-, Text- und Linienboxen ab.
---
tell application "QuarkXPress 4.11"
  activate
  tell current spread
    set newPage to object reference of (make page at end with properties {master spread:"A-Muster A"})
  end tell
  tell document 1
    set pageWidth to page width as real
    set objRef to object reference of every generic box whose selected is true
    if class of objRef is not list then set objRef to {objRef}
    repeat with aBox in reverse of objRef
      copy aBox to after aBox
    end repeat
    tell current box
      set {y, x} to origin of bounds as list
      set origin of bounds to {y, (x as real) + pageWidth}
    end tell
    try
      tell (every generic box whose selected is true)
        set properties to {color:"Cyan", shade:100}
      end tell
    end try
    tell newPage
      set objRef to object reference of every generic box whose selected is true
      if class of objRef is not list then set objRef to {objRef}
      repeat with aBox in reverse of objRef
        tell aBox
          if box type is picture box type then
            delete image 1
          else if box type is text box type then
            set story 1 to ""
          end if
        end tell
      end repeat
    end tell
  end tell
end tell
---
Verschiedene Versuche, die Auswahl auf ein Mal zu kopieren, ergaben eine Blockade von XPress. Deshalb die Repeat-Schleife.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

26. Mär 2004, 15:42
Beitrag # 7 von 16
Beitrag ID: #418703
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Script läuft wie geschmiert!

Könnte man noch eine Abfrage innerhalb der Repeatschleife machen, welche feststellt, ob der Rahmeninhalt ein Bitmap (1-bit) ist, und dieses Bitmapbild dann ebenfalls Cyan 100% einfärbt (Rahmen wäre dann ohne Farbe)

Gruss und Dank
willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

26. Mär 2004, 17:56
Beitrag # 8 von 16
Beitrag ID: #418704
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,
Zitat Script läuft wie geschmiert!

Na super!

Deine neue Frage kann ich mit "ja" beantworten. Aber... mit reinem AppleScript geht es nicht. Es sei denn, Du könntest die Bitmap-Bilder über den Namen identifizieren.

Die Informationen, welche XPress dem Scripter zur Verfügung stellt, reichen nicht aus. Man muss dazu die schon ein paar Mal erwähnte Applikation "Image Info PPC" von David Lloyd einsetzen. Dieses Programm kann man hier beziehen: http://www.kanzu.com

Damit man es aber zuverlässig einsetzen kann, muss man es freischalten lassen, das heisst dem David Lloyd die verlangten 20 Dollar überweisen und dann erhält man von ihm den Code.

Hier das angepasste Script. Es funktioniert auch mit der Demo-Version von "Image Info PPC". Aber das Problem ist, dass per Zufallsprinzip eine der vielen Infos als "unregistered" zurückgegeben wird. Okay, wir brauchen nur 2: 'image format' und 'image color mode'. Aber auf sechs Bilder können mal zwei fälschlicherweise als "Nichtbitmap" bezeichnet werden und mal drei oder vier.

Ein zusätzliche Bremse: auch nach Zufallsprinzip erscheint ein Dialog (oder auch nicht), welcher einen daran erinnert, dass man die Applikation registrieren sollte. Und dann muss man warten bis ein Countdown-Zähler bei Null angelangt ist, "OK" klicken und XPress wieder aktivieren, damit die Ausführung wieder schneller läuft.
---
tell application "QuarkXPress 4.11"
  activate
  tell current spread
    set newPage to object reference of (make page at end with properties {master spread:"A-Muster A"})
  end tell
  tell document 1
    set pageWidth to page width as real
    set objRef to object reference of every generic box whose selected is true
    if class of objRef is not list then set objRef to {objRef}
    repeat with aBox in reverse of objRef
      copy aBox to after aBox
    end repeat
    tell current box
      set {y, x} to origin of bounds as list
      set origin of bounds to {y, (x as real) + pageWidth}
    end tell
    tell newPage
      set objRef to object reference of every generic box whose selected is true
      if class of objRef is not list then set objRef to {objRef}
      repeat with aBox in reverse of objRef
        tell aBox
          if box type is picture box type then
            set imgPath to (get file path of image 1)
            set tiffBitmap to my getInfo(imgPath)
            if tiffBitmap then
              set properties of image 1 to {color:"Cyan", shade:100}
            else
              delete image 1
              set properties to {color:"Cyan", shade:100}
            end if
          else if box type is text box type then
            set story 1 to ""
            set properties to {color:"Cyan", shade:100}
          end if
        end tell
      end repeat
    end tell
  end tell
end tell

on getInfo(imgPath)
  tell application "Image Info PPC"
    set picInfo to Image Info for imgPath
    if image format of picInfo = TIFF and image color mode of picInfo = bitmap then
      return true
    else
      return false
    end if
  end tell
end getInfo
---

Hans Haesler <hsa<=@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

27. Mär 2004, 12:42
Beitrag # 9 von 16
Beitrag ID: #418705
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
Danke für das Script, "Image Info" hab ich - muss ich dann mal freischaltenlassen.

Werde es nachher testen.
Eins ist mir noch eingefallen. Kann man im Script die eingefärbten Boxen ("Cyan") auf Überdrucken stellen?

ein schönes Wochenende
willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

27. Mär 2004, 14:26
Beitrag # 10 von 16
Beitrag ID: #418706
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

wie sieht denn bei Dir die Information der Überfüllungspalette aus? Hier kann
ich anstellen, was ich will, das Resultat ist immer "Standard / Überdrucken"
(okay, mal hiess es "Aussparen", doch ich kann es nicht reproduzieren).

Aber Du kannst im Script die Properties erweitern &#133;
Code
set properties to {color:"Cyan", shade:100, background trap:overprint} 

&#133; dann überdruckt die Hintergrundfarbe.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

28. Mär 2004, 12:37
Beitrag # 11 von 16
Beitrag ID: #418707
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das mit der Abfrage von "Image Info" ist ja sehr interressant,
da werden später bestimmt noch ein paar Fragen auftauchen.

Bei der Bitmap-Duplizierung sollte die "Bildfarbe" mit Cyan eingefärbt werden anstatt der Hintergrund, welcher Befehl muss ich da eingeben?

Gruss und vielen Dank
willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

28. Mär 2004, 20:24
Beitrag # 12 von 16
Beitrag ID: #418708
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

dieser Befehl steht schon oben im Script. Auch wenn Du "Image Info" noch nicht freigeschaltet hast, kannst Du das Script ausführen. Mit etwas Glück, d.h. wenn die beiden Infos eines befragten Bitmap-Bildes 'TIFF' und 'bitmap' lauten (und nicht einmal davon 'unregistered'), wird das kopierte Bitmap-Bild mit Cyan eingefärbt.

Damit Du ein Maximum von "Treffern" verzeichnen kannst: im Testdokument ausschliesslich TIFF-Bitmap-Bilder auswählen. Von sechs Bilder werden mal drei, mal vier eingefärbt. Die restlichen werden entfernt, weil ein unregistriertes "Image Info" mit Zufallsgenerator die Info 'unregistered' einschleust.

Hier ein kommentierter Ausschnitt des obigen Scripts:
---
-- in die Variable 'tiffBitmap' wird das Resultat aus der Untersuchung des 'getInfo'-Handlers gegeben
-- dieser Handler retourniert entweder 'false' (= kein TIFF-Bitmap) oder 'true' (= das Bild ist ein TIFF-Bitmap)
set tiffBitmap to my getInfo(imgPath)
-- wenn 'tiffBitmap' wahr ist (= 'true'), dann &#133;
if tiffBitmap then
  -- &#133; werden die Properties des Bildes auf 'Farbe:"Cyan", Tonwert:"100%" gesetzt &#133;
  set properties of image 1 to {color:"Cyan", shade:100}
  -- &#133; sonst &#133;
else
  -- &#133; wird das Bild entfernt &#133;
  delete image 1
  -- &#133; und die Properties (der Bildbox) werden auf 'Farbe:"Cyan", Tonwert:"100%" gesetzt.
  set properties to {color:"Cyan", shade:100}
end if
Code
Wenn Du in beiden Fällen das Überdrucken sicherstellen willst, dann geschieht es im Falle des Bildes mit &#133; 

set properties of image 1 to {color:"Cyan", shade:100, image trap:overprint}
Code
&#133; und bei der Bildbox: 

set properties to {color:"Cyan", shade:100, background trap:overprint}
---
Alles klar?

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

7. Apr 2004, 09:59
Beitrag # 13 von 16
Beitrag ID: #418709
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

die duplizierten Boxen in der neuen Page werden um ca. 0,7mm groesser.
Wie erhaelt man identische Koordinaten der dupl. Objekte?

(es ist kein Randstil oder Textumfluss definiert)

Gruss willem


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Hans Haesler
  
Beiträge gesamt: 5826

7. Apr 2004, 13:08
Beitrag # 14 von 16
Beitrag ID: #418710
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

die Boxen werden um exakt 0,706 mm grösser. Das sind &#150; umgerechnet &#150; 2 Punkt.
Und genau wegen diesem Bug war die Version 4.1 unbrauchbar für den Einsatz von Scripts.

Abhilfe: das kostenlose Update auf Version 4.11 besorgen und durchführen.

Hier ist der Link:  http://euro.quark.com/de/service/desktop/downloads/details.jsp?idx=357

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418697]

Doppelseite rechts anhaengen

Anonym
Beiträge gesamt: 22827

7. Apr 2004, 17:46
Beitrag # 15 von 16
Beitrag ID: #418711
Bewertung:
(3578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das war ein guter Tip, es funktioniert.

Gruss willem


als Antwort auf: [#418697]
X