Allgemein Automatisierung InDesign Javascript Job Workflow

Abwechselnde Zeilen- UND Flächenfüllung in Tabellen

Workflow: InDesign und Javascript


Vor einiger Zeit bekam ich von einem Kunden ein Layout geliefert, auf dessen Basis InDesign-Template erstellt werden sollten. Also erstmal „nichts Aufregendes“.
Auf den zweiten Blick erwiesen sich aber die im Layout vorhandenen Tabellen als ziemlich kniffelig. Dort vorhanden waren abwechselnde Spaltenfüllungen gepaart mit abwechselnden Zeilenfüllungen und beim Aufeinandertreffen einer farbigen Spalte mit einer farbigen Zeile sollte sich auch noch die Farbe der jeweiligen Zelle ändern.
Wie das geht? Nun, eigentlich geht das gar nicht – zumindest nicht mit klugen Tabellen- oder Zellenformaten.

Wie also daraus ein Template machen?
Die (vermeintliche) Lösung: Tabelle in der Effektpalette auf „Multiplizieren“ stellen und die entsprechenden Spaltenfüllungen als Einzelrahmen dahinter legen. Geht zwar – aber man muss unglaublich genau arbeiten (denn Abweichungen im Druck sieht man – auch kleinste), d.h. man muss sehr viel rechnen (vor allem die Höhen der Hinterlegungen). Sprich: Derjenige, der schlussendlich mit dem Template arbeiten soll, wird wenig Freude daran haben – und Fehler sind vorprogrammiert. Also keine zufriedenstellend Lösung.

Es muss doch auch anders gehen?
Richtig cool wäre, wenn InDesign die Koordinaten von Tabellenzellen (relativ zum Seitenursprung) kennen würde. Kennt es aber nicht. Aber: „TAH TAH“ – das Programm kann via Script (ja, auch in Tabellenzellen) die Koordinaten von Buchstaben (ja, auch ich habe mich immer gefragt „wozu das?“) ermitteln. Würde ich also den Text in der ersten Zelle meiner Hinterlegung (horizontaler und vertikaler Zellversatz jeweils 0 mm) oben links ausrichten und mir anschließend die Koordinate des ersten Zeichens ausgeben lassen, dann hätte ich die Koordinaten X1 und Y1 meiner Hinterlegung. In der letzten Zelle könnte ich dies ähnlich machen: Koordinaten des letzten Zeichens ermitteln, wenn der Text unten rechts ausgerichtet ist (Zellversatz auch hier jeweils 0 mm) – und ich hätte Koordinate X2 und Y2.
Nun einen Rahmen anzulegen, diesen hinter die eigentliche Tabelle zu platzieren und diesem die ermittelten Koordinaten zuzuweisen, ist simpel.… und da es sich teilweise um komplexere Tabellen handelt (mehrere – nicht zwangsläufig zusammenhängende – Spalten, die hinterlegt werden sollen), habe ich für den Kunden ein kleines Script geschrieben: In einem Dialogfenster kann ausgewählt werden, welche Spalten hinterlegt werden sollen und welche frei bleiben.
Nach Bestätigung erhält man absolut passgenaue Hinterleger. Da es sehr, sehr viele solcher Tabellen gibt und sehr, sehr viele Dokumente, in denen diese auftauchen, ist die Zeitersparnis äußerst angenehm :-).

Schreibe einen Kommentar