[GastForen Programmierung/Entwicklung AppleScript QuarkXpress Kästche setzen per Apple Script

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

18. Mai 2006, 12:10
Beitrag # 1 von 34
Bewertung:
(4175 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
lang nichts mehr gehört, ich hoffe es geht Dir gut soweit.

Doch nun zur Sache, ich hätte da mal wieder eine kleine Script Aufgabe für Dich denn Du liebst ja die Herausforerung ;-)

Also:
Bei Quarkdokumenten veerschiedener grösse (z.B. 300 x 80 oder 400x 400)
sollen kleine Kästchen in der Farbe Schwarz immer genau 2 mm nach innen versetzt um das Dokument laufen.

Die Kästchen sollen ein Grösse von 0,5 x 0,5mm haben.

Und der Abstand zwischen den Kästchen soll variabel einstellbar sein, also z.B. bei 300 x 80 sollen 6 Kästchen im Abstand von 50mm erzeugt werden.

Zur Erklärung, das Ganze sollen Makierungspunkte werden, immer dort wo ein Punkt sitzt soll später eine Öse gestezt werden.

Meinst Du das ist machbar ????

Grüsse Mike
X

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

18. Mai 2006, 21:10
Beitrag # 2 von 34
Beitrag ID: #420938
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

ich nehme mal an, dass Du in einem früheren Leben (sprich: dtpro-Forum) als
'dosman' aufgetreten bist. Stimmt's? ;-)

Ich nehme weiter an, dass Du immer noch QuarkXPress 6.1 benutzest.

Doch wie stellst Du Dir das Variabel-Einstellen vor? Ein Dialog, in welchem man den
Abstand zwischen den Kästchen eingeben kann?

Zu Deinem Beispiel: 6 Kästchen in einem Abstand von 50 mm brauchen horizontal
250 mm Platz (plus die Kästchen-Breite). Doch was ist mit den restlichen 49.5 mm?

Oder sollen 7 Kästchen erzeugt werden? Das erste 2 mm vom linken Rand entfernt,
das letzte 2 mm vom rechten Rand entfernt. Und die übrigen 5 gleichmässig
dazwischen positioniert. Aber dann ist der Abstand von Kästchen zu Kästchen
(Mitte bis Mitte) nur noch 49.25 mm.

Und was ist mit dem linken und dem rechten Rand? Wie sollen die vertikalen 80 mm
aufgeteilt werden?

Würdest Du mir bitte ein Musterprojekt zustellen? Mit Angaben, wie bei anderen
Layout-Dimensionen der Anwender welche Wünsche anbringen können sollte.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

TMA
Beiträge gesamt: 399

19. Mai 2006, 06:41
Beitrag # 3 von 34
Beitrag ID: #420939
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo zusammen,
hab da noch was gefunden:

http://www.visionsedge.com/XTensions/index.asp?id=gridmaster

wenn ich euch richtig verstanden habe müsste man mit der xtension so was machen können.

könnt ihr euch ja mal anschauen...

gruß und ein schönes wochenende
TMA


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

19. Mai 2006, 06:47
Beitrag # 4 von 34
Beitrag ID: #420940
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ja Du hast Recht ich bin der dosman ;-) und ich benutze immer noch QuarkXPress 6.1 bzw. 6.5
Ein entsprechendes Quar File sende ich Dir gleich per Mail.

Zitat Doch wie stellst Du Dir das Variabel-Einstellen vor?
Ein Dialog, in welchem man den Abstand zwischen den Kästchen eingeben kann?


Ja, ein Dialog wäre perfekt. Nochmal zur Erklärung:
Wenn das Format z.B. 300 x 80 mm ist und die Vorgabe = Punkte alle 50 mm zusetzen, dann müssen jeweils in den Ecken Punkte sitzen und Mittelpunkt des Punktes muss 2mm nach innen versetzt sein.
Problemmatik ist das ja alle 50 mm mathematisch dann nicht mehr möglich ist, also müssen die restlichen Punkte bzw. Kästchen gleichmässig verteilt auf dem Rest der Strecke liegen, genau so wie Du es beschrieben hier hast:
Zitat Oder sollen 7 Kästchen erzeugt werden? Das erste 2 mm vom linken Rand entfernt,
das letzte 2 mm vom rechten Rand entfernt. Und die übrigen 5 gleichmässig
dazwischen positioniert. Aber dann ist der Abstand von Kästchen zu Kästchen
(Mitte bis Mitte) nur noch 49.25 mm.


Zitat Und was ist mit dem linken und dem rechten Rand? Wie sollen die vertikalen 80 mm
aufgeteilt werden?


Genauso wie die anderen. Das Problem ist das das Format auch z.B. 300 x 125 mm sein kann.
Meinst Du das das überhaupt lösbar ist ??

Grüsse Mike


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

19. Mai 2006, 07:09
Beitrag # 5 von 34
Beitrag ID: #420941
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

danke für die Datei. Doch habe ich im Moment eine dringende Arbeit zu erledigen
(für eine Beilage anlässlich der Fussball WM). Ich kann deshalb nicht vor heute
Abend mit dem Studium Deines Problems beginnen.

@ TMA: Danke für den Hinweis. Werde ich mir anschauen.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

19. Mai 2006, 21:05
Beitrag # 6 von 34
Beitrag ID: #420942
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

Zwischenbericht: Es sieht gut aus. Erste Versuche ergeben, dass es möglich ist.
Der Code ist allerdings noch nicht präsentabel. Und ich kann voraussichtlich
erst im Laufe des Sonntagabends weiterfahren.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 08:13
Beitrag # 7 von 34
Beitrag ID: #420943
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

und hier ist eine erste Lösung. Schon recht komfortabel, kannst Du im Script das Ausrechnen der
Abstände steuern, indem Du die als 'property' definierte Variable 'boxDistance' auf "enger", "mittel"
oder "weiter" setzest.

Was bedeuten diese drei Ausdrücke?
Mit "enger" wird die Anzahl der zu setzenden Kästchen auf die nächsthöhere Ganzzahl aufgerundet.
Egal, ob 5.12 oder 5.92: Beide werden zu 6.
Mit "mittel" werden Dezimalstellen von 0.5 und höher aufgerundet. Darunter wird abgerundet.
Mit "weiter" wird die Anzahl der zu setzenden Kästchen auf die nächstkleinere Ganzzahl abgerundet.
Die genannten 5.12 und 5.92 werden beide zu 5.

Je nach Dimension des Layouts wird zwischen "mittel" und "weiter" kein Unterschied zu sehen sein.
Aber mit dem von Dir genannten Format von 300 x 125 mm (und einem gewünschten Abstand von
50 mm) schon.

Die Properties 'boxH' und 'boxW' dienen zum Bestimmen der Boxenhöhe und -breite. Mit 'boxC'
definiert man die Distanz vom Seitenrand zur Boxenmitte und mit 'fillColor' die Hintergrundfarbe.
Code
property boxDistance : "enger" 
--property boxDistance : "mittel"
--property boxDistance : "weiter"

property boxH : 0.5
property boxW : 0.5
property boxC : 2
property fillColor : "Schwarz"

global decSep
set decSep to ""
try
  "1.5" as real
  set decSep to "."
on error
  set decSep to ","
end try

tell document 1 of application "QuarkXPress 6.1"
  set tmpVal to text returned of (display dialog "Abstand der Kästchen (in mm):" default answer "")
  set stepVal to ""
  repeat with i from 1 to count of tmpVal
    set curChar to character i of tmpVal
    if curChar is in "0123456789" then
      set stepVal to stepVal & curChar
    else if curChar is in ",." then
      set stepVal to stepVal & decSep
    else
      display dialog "Die Eingabe für den Abstand ist ungültig.
           
Du hast getippt: " & tmpVal buttons "OK" default button 1 with icon 0
      error number -128
    end if
  end repeat
  if not (color spec fillColor exists) then
    set fillColor to name of color spec 1 whose locked = true and RGB color value = {0, 0, 0}
  end if
  set pageWidth to page width as millimeter units as real
  set pageHeight to page height as millimeter units as real
  set xMargin to boxC - (boxW / 2)
  set yMargin to boxC - (boxH / 2)
  set ty1 to yMargin
  set by1 to pageHeight - yMargin - boxH
  set x1 to xMargin
  set lastX1 to pageWidth - xMargin - boxW
  set lastY1 to by1
  set totX to lastX1 - x1
  set totY to lastY1 - ty1
  set tmpXVal to (totX / stepVal)
  set tmpYVal to (totY / stepVal)
  if boxDistance is "enger" then
    if not ((tmpXVal as string) ends with ".0") then
      set nBoxesH to (tmpXVal + 1) div 1
    else
      set nBoxesH to tmpXVal div 1
    end if
    if not ((tmpYVal as string) ends with ".0") then
      set nBoxesV to (tmpYVal + 1) div 1
    else
      set nBoxesV to tmpYVal div 1
    end if
  else if boxDistance is "mittel" then
    set nBoxesH to (tmpXVal + 0.5) div 1
    set nBoxesV to (tmpYVal + 0.5) div 1
  else if boxDistance is "weiter" then
    set nBoxesH to tmpXVal div 1
    set nBoxesV to tmpYVal div 1
  else
    display dialog "Die Einstellung \"" & boxDistance & "\" ist nicht vorgesehen." buttons  ¬
      "OK" default button 1 with icon 0
    error number - 128
  end if
  set defXstep to totX / nBoxesH
  set defYstep to totY / nBoxesV
  tell page 1
    try
      delete (every graphic box whose name is "blackBox")
    end try
    repeat with i from 1 to nBoxesH + 1
      make graphic box at beginning with properties  ¬
        {bounds:{"" & ty1 & "mm", "" & x1 & "mm", "" & (ty1 + boxH) & "mm", "" & (x1 + boxW) & "mm"}  ¬
          , color:fillColor, shade:100, name:"blackBox"}
      make graphic box at beginning with properties  ¬
        {bounds:{"" & by1 & "mm", "" & x1 & "mm", "" & (by1 + boxH) & "mm", "" & (x1 + boxW) & "mm"}  ¬
          , color:fillColor, shade:100, name:"blackBox"}
      set x1 to x1 + defXstep
    end repeat
    set x1 to xMargin
    repeat with i from 2 to nBoxesV
      set ty1 to ty1 + defYstep
      make graphic box at beginning with properties  ¬
        {bounds:{"" & ty1 & "mm", "" & x1 & "mm", "" & (ty1 + boxH) & "mm", "" & (x1 + boxW) & "mm"}  ¬
          , color:fillColor, shade:100, name:"blackBox"}
      make graphic box at beginning with properties  ¬
        {bounds:{"" & ty1 & "mm", "" & lastX1 & "mm", "" & (ty1 + boxH) & "mm", "" & (lastX1 + boxW) & "mm"}  ¬
          , color:fillColor, shade:100, name:"blackBox"}
    end repeat
  end tell
end tell

Das Script "Kaestchen_6x_01d" ist unterwegs zu Dir.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

22. Mai 2006, 08:29
Beitrag # 8 von 34
Beitrag ID: #420944
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

erstmal 1000 Danke, das ist wieder einmal perfekte Arbeit von Dir, genauso wie ich das brauche.

Aber wenn Du Lust und Zeit hast könntest Du ja noch folgendes einbauen um den Script Komfort noch zu verbessern:

Die Optionen enger, mittel, weiter sowie die boxH, boxW, boxC und fillColor Angaben mit in den Dialog aufnehmen in der der Abstand abgefragt wird.

Dann wäre es wirklich absolut perfekt und komfortabel wäre gar kein Ausdruck.

Es wäre quasi ein TRAUM !



Danke nochmal und Grüsse
Mike


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 08:51
Beitrag # 9 von 34
Beitrag ID: #420945
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

bitteschön! Deine Wünsche betreffend Erweiterung des Dialoges werde ich ausführen.
Hatte ich von Anfang an geplant, aber es fehlte mir die Zeit. Denn bei so vielen
Angaben ist es nicht anwenderfreundlich, wenn alle einzeln abgefragt werden.

Doch wenn man die Optionen in einem einzigen Dialog zeigen will, dann muss man zu
einem Hilfsmittel greifen (z.B. Pashua) und der Entwicklungsaufwand wird recht gross.

Frage: Ist es wünschenswert, für die vertikal angeordneten Kästchen einen anderen
Abstand eingeben zu können?

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

22. Mai 2006, 08:56
Beitrag # 10 von 34
Beitrag ID: #420946
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

also für meine Zwecke reicht es aus, wenn die Abstände vertikal wie auch horiztal immer gleich bleiben.

Eine andere Frage habe ich noch, wenn ich die neue Version von Pashua habe, müssen dann die Scripts angepasst werden ?

Grüsse Mike


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 09:19
Beitrag # 11 von 34
Beitrag ID: #420947
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

ja, dem ist so. Der Code eines Scripts muss auf die vorhandene Version
von "Pashua" abgestimmt sein.

Näheres steht im Thema "Neue Version von "Pashua" (erweiterte Dialoge)"
http://www.page-online.de/page/forum/viewthread/2947/

Wenn Du bei Deiner aktuellen Version von Pashua bleiben möchtest, dann
teile mir bitte deren Nummer mit (per E-Mail) und ich werde das vorliegende
Script mit dem passenden Code ausstatten.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

23. Mai 2006, 10:02
Beitrag # 12 von 34
Beitrag ID: #420948
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

Das Kästchen-Script mit dem Pashua-Dialog ist unterwegs zu Dir.
Ich kann es hier nicht veröffentlichen, weil es 18'560 Zeichen umfasst -  unformatiert!
(ein neuer Eintrag in diesem Forum ist auf 6000 Zeichen beschränkt).

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

29. Mai 2006, 07:48
Beitrag # 13 von 34
Beitrag ID: #420949
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

bei uns in der Praxis ist folgende Frage aufgetreten.

Könnte man in das Script noch einbauen, das man nur bestimmte Seiten des Dokuments mit Kästchen versieht ?

Also entweder nur oben oder nur unten oder links und rechts, oder evtl auch nur an 3 Seiten ?


Grüsse Mike


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

29. Mai 2006, 09:05
Beitrag # 14 von 34
Beitrag ID: #420950
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mike,

ja, das ist sicher möglich. Ich werde den Dialog mit vier Checkboxen ergänzen.
Kann mich aber erst heute Abend dahintersetzen.

Gruss, Hans


als Antwort auf: [#420937]

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

29. Mai 2006, 09:51
Beitrag # 15 von 34
Beitrag ID: #420951
Bewertung:
(4174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

super....DANKE und nicht hetzen ich warte gern.

Achja, wenn Du noch eine Option für nur in jede Ecke des Dokuments ein Kästchen einbauen könntest, ware das mal wieder ein völlig perfektes, Nein ein noch perfekteres Script von Dir.

Danke im Voraus.


Grüsse Mike


als Antwort auf: [#420937]
X