Forenindex » Programmierung/Entwicklung » AppleScript » QuarkXpress Kästche setzen per Apple Script

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

18. Mai 2006, 12:10
Bewertung:

gelesen: 4177

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

18. Mai 2006, 21:10
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

TMA
Beiträge gesamt: 399

19. Mai 2006, 06:41
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

19. Mai 2006, 06:47
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

19. Mai 2006, 07:09
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

19. Mai 2006, 21:05
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 08:13
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

22. Mai 2006, 08:29
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 08:51
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

22. Mai 2006, 08:56
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

22. Mai 2006, 09:19
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

23. Mai 2006, 10:02
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

29. Mai 2006, 07:48
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

29. Mai 2006, 09:05
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

29. Mai 2006, 09:51
Bewertung:

gelesen: 4176

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

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

29. Mai 2006, 10:23
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

wird gemacht! Wird nicht einfach sein, dies alles rationell umzusetzen, weil die
Kästchen in den Ecken je zu den horizontalen sowie den vertikalen gehören.

In der aktuellen Version werden zuerst die horizontalen erzeugt. Bei den vertikal
angeordneten Kästchen wird mit dem zweiten begonnen und mit dem vorletzten
aufgehört, damit in den Ecken nur je eines erscheint.

Wenn nun aber, sagen wir, die obere horiontale Reihe weggelassen werden soll,
dann müssen die beiden ersten vertikalen erzeugt werden.

Wie gesagt: nicht einfach. Aber es wird schon werden. :-)

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

29. Mai 2006, 10:59
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans,
ich bin vollkommen überzeugt davon das Du das hinkriegst.

Es sind doch die Herausforderungen die Du so liebst.

Mir fallen bestimmt bald wieder ein paar neue Sachen ein ;-)


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

29. Mai 2006, 23:14
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

das Script "Kaestchen_6x_03d" ist unterwegs zu Dir. Ja, es war eine Herausforderung. :-) Aber die
Umsetzung Deiner Wünsche scheint mir gut gelungen.

Weil viele Kombinationen möglich sind und weil die Eckpunkte nicht doppelt erzeugt werden sollten,
habe ich den Code in acht Handler aufgeteilt: Vier für die Ränder und vier für die Ecken. Je nach
Wahl des Anwenders, werden die entsprechenden Handler aufgerufen.

Die Kästchen werden im Uhrzeigersinn erzeugt. Das bedingt, dass die 15 Möglichkeiten einzeln und
komplett -  d.h. ohne Kombinierungen untereinander -  codiert sind. Dadurch wird das Script zwar länger,
aber der Ablauf ist harmonischer.

Wenn die Checkbox "nur in jeder Ecke der Seite ein Kästchen" aktiviert ist, dann werden natürlich einige
Angaben ignoriert: der Abstand; oben, links, unten, rechts; die Ausrichtung (enger, mittel, weiter).

Und noch: Kann sein, dass mal das Resultat nicht den Vorstellungen entspricht. Dann ganz einfach das
Script nochmals starten. Im Dialog erscheint die letzte Einstellung. Die Korrekturen anbringen und
"OK" klicken. Die "alten" Kästchen werden abgeräumt (sie sind benannt) und die neuen erzeugt.

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

30. Mai 2006, 06:19
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans,

DU BIST ECHT DER HAMMER !!!

Dieses Script übertrifft wieder einmal alle meine Erwartungen und Du hast Dich wie so oft schon wieder mal selbst übertroffen.

1000 Dank !!! PERFEKT !!!


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

30. Mai 2006, 06:42
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
und doch stellt sich mir die Frage.....:

GEHT DAS AUCH FÜR INDESIGN ???  ;-)


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

30. Mai 2006, 07:08
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

bitteschön. Danke für die Blumen! :-)

Ja, stimmt, ich musste mich übertreffen. Doch freut es mich umso mehr, wenn Dir das
Script die Arbeit erleichtert.

Zum Testen der 16 Möglichkeiten (oder 17, wenn keine Checkbox aktiviert), habe ich die
Kästchen als rote 4-mm-Quadrate, mit einem Abstand der Zentren 6 mm vom Seitenrand
eingestellt. Dadurch wirkt der Ablauf eindrücklicher, als mit den schwarzen Viertels-
quadratmillimeter-Pünktchen der Vorgaben-Werte.

Schade, dass ich das Script hier nicht veröffentlichen kann (weil zu umfangreich).
Wer sich dafür interessiert, sende bitte ein E-Mail an mich.

Zu Deiner Zusatzfrage: Ja, das sollte auch mit InDesign gehen. Doch muss das Script
total überarbeitet werden. Ich kann aber erst heute Abend damit beginnen.
Der Einfachheit halber, werde ich den Pashua-Dialog beibehalten.

Welche Version von InDesign benutzest Du? InDesign CS? Oder InDesign CS2?

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

30. Mai 2006, 07:25
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans

Zitat Danke für die Blumen! :-)

Bitte !

Zitat Doch freut es mich umso mehr, wenn Dir das Script die Arbeit erleichtert.

Nicht nur mir, auch unter den Kollegen hier, hast Du mittlerweile jede Menge Fans ;-)

Zitat Zu Deiner Zusatzfrage: Ja, das sollte auch mit InDesign gehen. Doch muss das Script
total überarbeitet werden. Ich kann aber erst heute Abend damit beginnen.
Der Einfachheit halber, werde ich den Pashua-Dialog beibehalten.

Wie immer nicht hetzen ;-)

Zitat Welche Version von InDesign benutzest Du? InDesign CS? Oder InDesign CS2?

Beide Versionen

grüsse Mike und nochmal Danke

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

31. Mai 2006, 13:43
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

ich habe Dir soeben das Kästchen-Script für InDesign zugestellt. Entwickelt mit Indesign CS2,
sollte es aber auch mit InDesign CS funktionieren (nicht ausprobiert).

Die wesentlichen Änderungen: Das Zusammenstellen der Liste der Farben, das Übersetzen von
"Black" zu "Schwarz" und "Paper" zu "Papier" (zum Anzeigen im Dialog).

In den Handlern, welche die Rahmen erzeugen, musste 'graphic box' durch 'rectangle' ersetzt
werden; 'bounds' durch 'geometric bounds'; 'color' = 'fill color'; 'shade' = 'fill tint'; 'name' = 'label'.

Frohes Kästchen-Generieren! :-)

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

1. Jun 2006, 06:01
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo und Guten Morgen Hans,

erstmal Danke für die InDesign Version und Deine Mühe.

Dann die gute Nachricht, ja es funzt unter CS2 perfekt. Unter CS allerdings erhalte ich ne Fehlermeldung, was aber eigentlich egal ist da wir hier sowieso alles auf CS2 umstellen.

Falls Du jedoch neugierig bist welcher Fehler auftritt, hier die Beschreibung:

Also der Pashua Dialog wird richtig angezeigt, wenn ich allerdings auf OK klicken kommt die Fehlermeldung:

InDesign CS hat einen Fehler erhalten: Einige Parameter wurden nicht verstanden !



Ist aber wie gesgat nicht weiter schlimm den unter CS2 gehts ja, nochmal Danke
und Grüsse

Mike

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

1. Jun 2006, 06:40
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans,
aktuell ist gerade die Frage aufgetreten ob das Script auch mit der Musterseite funktioniert.
Ich habe festgestellt das das nicht der Fall ist, welchen Scriptteil muss ich ändern damit das script auch mit der Musterseite funzt ?

Und die andere Frage ist warum geht das immer nur auf Seite 1 ?

Nachtrag:
Interessant wäre wenn man auf der jeweiligen aktiven Seite die Kästchen extra setzen könnte.

Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

1. Jun 2006, 09:30
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

ja, wenn ich das Script mit InDesign CS entwickelt hätte, dann wäre die Chance grösser, dass
es unverändert mit CS2 funktionieren würde. Denn die Umwege, welche mit CS notwendig sind,
klappen auch. Umgekehrt, muss man einiges ändern.

Anstelle von  ...
---
make rectangle at beginning with properties  ¬
      {geometric bounds:{ty1, x1, (ty1 + boxH), (x1 + boxW)}  ¬
            , fill color:fillColor, fill tint:boxSh, label:"blackBox"}
---
... muss man zuerst einen Rahmen erzeugen und dann dessen Properties ändern:
---
set newFrame to make rectangle
set properties of newFrame to {geometric bounds:{ty1, x1, (ty1 + boxH), (x1 + boxW)}  ¬
      , fill color:fillColor, fill tint:boxSh, stroke color:noColor, label:"blackBox"}
---

Das 'at beginning' kann man in beiden Versionen weglassen. Aber die Farbe der Kontur muss
auf "Keine" gesetzt werden, sonst kann eine Konturvorgabe wirksam werden. Der Variablen 'noColor'
wird vorgängig die Referenz der Farbe "Keine" zugewiesen:
---
set noneID to (id of every swatch whose name is "None")
set noColor to swatch id noneID
---

Damit die Farben sichtbar zugewiesen werden, muss mit InDesign CS eine Referenz zum entsprechenden
'swatch' definiert sein (das direkte Zuweisen gelingt nur mit CS2):
---
if colorName is "Schwarz" then
      set fillColor to swatch "Black" of document 1
else if colorName is "Papier" then
      set fillColor to swatch "Paper" of document 1
else
      set fillColor to swatch colorName of document 1
end if
---

Wie vorstehend gezeigt, müssen der Name und die Referenz zwei verschiedenen Variablen zugewiesen
sein. Sonst wird beim Test, welcher feststellt, ob die gespeicherte Farbe im Dokument existiert,
immer die Default-Farbe "Schwarz" zugewiesen und erscheint anstelle der erwarteten im Dialog.

Ich stelle Dir die geänderte Version für InDesign CS zu.

Auf Deine Fragen des letzen Eintrags werde ich später eingehen.

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

1. Jun 2006, 09:53
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

das Scripten von Objekten auf XPress-Musterseiten war schon immer problematisch.
Aber ich kann versuchen, im vorliegenden Script die Sperre aufzuheben. Damit
ist es aber nicht getan, denn je nachdem, ob eine Musterseite oder eine Layout-
Seite angezeigt ist, muss die Adressierung angepasst werden.

Dass nur die erste Seite mit den Kästchen bestückt wird, ist bewusst so codiert,
weil ich angenommen hatte, dass es sich immer um Layouts von einer Seite handelt.
Der Code kann leicht so geändert werden, dass die aktive Seite adressiert wird.
Dabei ist nicht die Seite massgebend, welche man sieht, sondern jene, welche
in der Seitenlayoutpalette ausgewählt ist.

Man könnte vielleicht auch den Dialog um zwei Radiobuttons ergänzen:
- aktive Seite
- alle Seiten des Layouts

Zurück zu den Musterseiten: Kommen auch Doppelseiten vor?

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

1. Jun 2006, 10:09
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans,
erstmal Danke für die angepassten InDesign Versionen, Du bist einfach der Beste ;-)

Und Nein, Doppelseiten kommen nicht vor.
Ja, das mit alle Seiten und aktive seiten finde ich gut


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

1. Jun 2006, 11:16
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Mike,

das XPress-Script, mit welchem die Boxen auf der aktuellen Seite erzeugt werden,
ist unterwegs zu Dir. Die Anpassung war schnell gemacht. Im Code musste überall
'tell page 1' durch 'tell current page' ersetzt werden.

Das Adressieren der Musterseite hingegen, ist schwieriger. Ein erster Versuch
lief aus dem Ruder. Ich habe eine Ahnung, warum. Muss aber nachforschen, wie das
Problem umgangen werden kann. Doch dazu werde ich nicht vor heute Abend Zeit finden.

Und auch für die Erweiterung des Dialoges (aktive Seite, alle Seiten) benötige ich mehr Zeit.

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

1. Jun 2006, 11:21
Bewertung:

gelesen: 3137

Beitrag als Lesezeichen
Hallo Hans,

danke, danke, danke ich hoffe ich mache Dir nicht zuviel Arbeit.

Ich denke das mit der Musterseite können wir auch weglassen wenn man ja sowieso per Optionbox sagen kann: Alle Seiten oder nur akzuelle Seite, oder ?

Achja und wenn Du Lust und Zeit hast kannst Du's ja für Indesign auch noch umbauen ;-)


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Anonym
Beiträge gesamt: 22827

1. Jun 2006, 11:56
Bewertung:

gelesen: 1307

Beitrag als Lesezeichen
Hallo Hans,
die Kollegen hier glauben das Du nicht jeder Herausforderung gewachsen bist was AppleScript angeht (Eine Frechheit !) ;-)

Ein Kollege meinte es wäre nicht schlecht wenn man bestimmen könnte auf welchen Seiten das Kästchen angelegt werde sollen, also in der Form:

Kästchen auf Seite: 3, 5, 6, 9

für die Seiten 3, 5, 6 und Seiten 9.


Meinst Du das Du das hinkriegst, ich habe gesagt es gibt fast nix was Du nicht hinkriegst.


Grüsse Mike

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

1. Jun 2006, 12:20
Bewertung:

gelesen: 1307

Beitrag als Lesezeichen
Hallo Mike,

ja, es ist mir auch recht, wenn wir die Musterseiten-Option weglassen können ...

Doch bis das Script erlaubt, die Kästchen auf allen Seiten zu erzeugen, kann man
sich so behelfen: Ein neues Projekt der gleichen Grösse anlegen, das Script starten.
Dann alles auswählen und kopieren. Schliesslich auf die Musterseite des aktuellen
Projekts schalten und mit "Befehl + Option + Umschalt + V" die Objekte "An gleicher
Stelle einfügen" (= Artikel des Menüs "Bearbeiten").

Und ja, die InDesign-Scripts werde ich auch erweitern.

Betreffend der Auswahl der Seiten: Hey! Könnt Ihr Gedankenlesen?!? Habe ich mir
nämlich auch überlegt, habe mir aber gesagt, dass ich es vorerst nicht erwähne,
denn das ist viel schwieriger, als es den Anschein macht ...

Aber Deinen lieben Kollegen werde ich es zeigen! ;-)

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

1. Jun 2006, 21:19
Bewertung:

gelesen: 1307

Beitrag als Lesezeichen
Hallo Mike,

jetzt ist der Dialog ergänzt. Und der Handler zum Prüfen des Seitenbereichs
ist bereit. Aber es bleibt noch viel zu tun, weil es möglich sein soll,
mit einer einzigen Text-Eingabezeile entweder die aktive Seite oder alle
Seiten oder Seitenbereiche in verschiedenen Schreibweisen einzugeben.

Für die aktive Seite tippt man ein "a". Für alle Seiten ... "alle". Und für
Seitenbereiche die Seitenzahlen, welche in der Layoutpalette sichtbar sind.

Als Seitenbereichsunterteiler werden jene der XPress-Vorgaben verwendet:
Bindestrich für fortlaufend (z.B. 3-7)
Komma für nichtfortlaufend (z.B. 5,8)
Kombinert (z.B. 3-6,9)

Alternativ kann der Index der Layoutpalette eingesetzt werden, indem man
Pluszeichen voranstellt (z.B. +2-+6).

Das ausgewertete Ergebnis muss jetzt "nur" noch umgesetzt werden.
Und schliesslich gilt es, alle Möglichkeiten durchzuspielen. Und eventuelle
falsche Eingaben abzufangen. Kann ich aber nicht vor Freitagabend erledigen.

Gruss, Hans

QuarkXpress Kästche setzen per Apple Script

Hans Haesler
  
Beiträge gesamt: 5826

5. Jun 2006, 21:34
Bewertung:

gelesen: 1307

Beitrag als Lesezeichen
Hallo Mike,

die Version 06 des Scripts "Kaestchen_6x" ist unterwegs zu Dir.

Ich habe die angekündigten Optionen noch ausgebaut. An Stelle der bereits genannten Seitenbereichsunterteilern
können nun auch die Buchstaben g (= gerade Seiten) oder u (= ungerade Seiten) eingegeben werden.
Und auch az (= aktive bis letzte Seite). Eine Kombination ist auch möglich: azg (= gerade Seiten von der
aktiven bis zur letzten) und azu (= ungerade Seiten von der aktiven bis zur letzten).

Weil nun mehr als eine Seite mit Kästchen versehen wird, dauert die Aktion länger. Damit man sieht, dass etwas
geschieht, wird die jeweils aktive Seite angezeigt. Am Schluss sagt ein Dialog "Fertig." (eine Sekunde sichtbar).

Ich habe mir auch überlegt: Es kann vorkommen, dass die Kästchen auf der falschen Seite und/oder in einer falschen
Anordnung erzeugt worden sind. Das manuelle Korrigieren kann mühsam sein. Deshalb gibt es nun ein zweites Script
zum Entfernen von Kästchen. Die Seitenfolge funktioniert genau gleich wie im ersten Script. Ebenfalls die
Checkboxen: aktivierte bedeuten "Kästchen behalten", nichtaktivierte dagegen = Kästchen entfernen.

Eine Option ist das Aktivieren der Checkbox "nur die Ecken-Kästchen stehenlassen". In diesem Fall werden die
anderen Checkboxen ignoriert.

Das Entwickeln des Codes dieses Scripts war nicht so einfach, wie es zuerst den Anschein machte. Auf jeder Seite
muss festgestellt werden, ob an den benachbarten Seitenrändern Kästchen vorkommen. Wenn nicht, muss das Kästchen
in der Ecke ebenfalls entfernt werden. Nachteil: Einem Seitenrand, bei welchem keine Zwischenkästchen Platz haben,
werden die Ecken entfernt. Es gibt leider keine vernünftige Lösung, um dies zu verhindern.

Ich hoffe, dass nun die wichtigsten Wünsche abgedeckt sind (und dass Deine Kollegen nicht überfordert sein werden ;-).

Gruss, Hans