hilfdirselbst.ch
Facebook Twitter gamper-media
Mac OS X enthält verschiedene integrierte Werkzeuge und Technologien, mit denen sich gängige Aufgaben schnell und einfach automatisieren lassen.
Hans Haesler  M  p
Beiträge: 5414
3. Dez 2003, 15:04
Beitrag #1 von 2
Bewertung:
(436 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textboxen reihenweise alinieren


Im QuarkXPress-Forum http://www.page-online.de/page/forum/viewthread/2052 hat Arie sein Problem präsentiert. Er muss in aufwendiger Arbeit Textboxen – welche unterschiedlich hoch sein können – reihenweise alinieren. Jetzt habe ich ein Script fertiggestellt, welches sich der Sache annimmt.

Mein Ziel war, den Code möglichst autonom zu halten, d.h. durchgehend mit Variablen zu arbeiten und die fixen Werte auf ein Minimum zu beschränken. Der Vorteil ist, dass sich das Script dynamisch an das Dokument anpassen kann. Im Code muss nichts geändert werden.

Die Seitenhöhe wird registriert, der Zeilenabstand, die Anzahl Kolonnen. Die Anzahl Reihen wird herausgefunden, indem die Zellenseparations-Zeichen gezählt und das Resultat durch die Anzahl Kolonnen geteilt wird.

Trotz aller Flexibilität müssen einige Bedingungen eingehalten werden:
1) Nur die erste Reihe von Boxen plazieren.
2) Die Boxen verketten.
3) Im Text konsequent das Tabulator-Zeichen als Trenner einsetzen
4) Den Text importieren.
5) Die erste Box auswählen.
6) Das Script starten.

Das Script versucht als erstes, die Tabulatoren in Nächste-Spalte-Zeichen zu verwandeln. Dann zählt es die verketten Boxen und rechnet die Anzahl Reihen aus. Anschliessend werden die Höhen der Boxen der ersten Reihe angepasst, die Position für die zweite Reihe ausgerechnet, die weiteren Boxen werden laufend erzeugt und verkettet und angepasst usw.

Unten an der Seite kann es vorkommen, dass eine Reihe zu weit unten steht. Das Script löscht dann die ganze Reihe und erzeugt sie auf der nächsten Seite neu. Man kann dies nicht anders lösen, weil die Boxen zuerst erzeugt werden müssen, bevor man feststellen kann, ob die vertikale Position okay ist.

Wenn mehr Reihen vorhanden sind als Seiten, dann fügt das Script neue Seiten ein, damit es alles plazieren kann.

Leider ist das Ganze zu umfangreich, um hier veröffentlicht zu werden. Doch wer sich ansehen möchte, wie die Boxenreihen mit einem Blindzeilenabstand positioniert werden, kann bei mir ein Musterdokument (keine Angst, Arie, ich werden den Text durch belangloses Zeug ersetzen) und das Script verlangen.

Hans Haesler <hsa@ringier.ch> Top
 
X
Anonym
Beiträge: 22827
21. Dez 2003, 12:24
Beitrag #2 von 2
Beitrag ID: #418482
Bewertung:
(435 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textboxen reihenweise alinieren


Hallo Hans,

das Script funktioniert fantastisch, einfach Genial.
Vielen Dank für deine Mühe.

Gruß Arie
als Antwort auf: [#418481] Top