Dossiers >> InDesign >> Fachartikel >> Heinzelm�nnchen im Layoutalltag
Artikel als PDF

Heinzelm�nnchen im Layoutalltag

Skripte programmieren lassen ist nicht teuer. Der Aufwand ist nach ein, zwei Aufträgen amortisiert. Skripte vereinfachen und beschleunigen Layoutroutinen. Durch die Auto­matisierung kann mehr Zeit in die Gestaltung investiert werden. Effizienz und gutes Design sind Wettbewerbsvorteile im umkämpften Layoutmarkt.

guido köhler/gregor fellenzHand aufs Herz – welcher Gestalter, welche Gestalterin kann schon JavaScript oder GREP programmieren? Das ist auch gar nicht nötig. Wir sollten uns auf unsere Kernkompetenzen konzentrieren und Fachleute programmieren lassen. Die Kosten für ein einzelnes Skript liegen zwischen 100 und 500 Franken. Je nach Komplexität kann es natürlich bedeutend teurer werden.

Grundsätzlich sind Skripte aufwärtskompatibel, sodass diese nicht für jede InDesign-Version neu programmiert werden müssen. Sie sind jedoch nur bedingt abwärtskompatibel.

Skripte für InDesign finden Sie unter Fenster > Hilfsprogramme > Skripte (vor CS5 Fenster > Automatisierung > Skripten). Im Ordner Anwendung liegen bereits einige von Adobe mitgelieferte Skripte bereit.

Skripte lassen sich mit dem in InDesign integrierten ExtendScript Toolkit direkt aus dem Skripte-Fenster bearbeiten (rechte Maustaste > Skript bearbeiten). Dabei geht es darum, Parameter zu verändern, die man vorgängig zusammen mit dem Programmierer festgelegt hat. Das ist nicht immer, aber recht häufig der Fall. Die Abbildung im Praxisbeispiel zeigt, welche Teile des Skripts verändert werden können. Diese Information ist wichtig für die Planung, denn Skripte sollten möglichst flexibel eingesetzt werden können.

Vor der Auftragsvergabe

Skripte können grundsätzlich das, was InDesign auch kann, aber darüber hinaus eben deutlich mehr als eine händische Abarbeitung von verschiedenen Befehlen (siehe Kasten). Deshalb sollte man sich vorgängig vom Programmierer oder von der Programmiererin beraten lassen. Die wissen, was möglich ist oder eben nicht. Möglicherweise wurde das Skript bereits erstellt und publiziert.

Bedarfsabklärung

Damit ein Skript rentiert, bedarf es einiger weniger Voraussetzungen:

    Es muss ein Muster geben, also eine klar definierbare Abfolge von Befehlen und Arbeiten, die ein eindeutiges Resultat ergeben.
    Der Aufwand für das Aufrufen und Ausführen des Skripts muss deutlich geringer sein als das händische Arbeiten.
    Gibt es weitere Aufträge und Dateien, in welchen das Skript zur Anwendung kommen kann? Idealerweise ist das Skript nicht an einen einzigen Auftrag gebunden, sondern lässt sich universell einsetzen.

Es ist zudem ratsam, zuerst gut im Internet zu recherchieren und bei Kollegen nachzufragen. Aber Vorsicht: Viele bestehende Skripte sind nicht unproblematisch. Solche aus dem angelsächsischen Raum verwenden beispielsweise Zoll in den Paletten und Linealen. Andere bedürfen kostenpflichtiger Zusatzsoftware.

Je nachdem ist ein bestehendes Plug-in die bessere Lösung als ein eigens angefertigtes Skript.

Formulierung des Auftrags

Nach der Recherche versuchen wir, die Anforderung und den Ablauf möglichst klar in Worte zu fassen. Meist hilft eine grafische Darstellung weiter (siehe Beispiele oben). Die Fragestellung selbst kann zu völlig neuen Anforderungen und Einsatzmöglichkeiten führen. Aber natürlich auch zur enttäuschenden Erkenntnis, dass es nicht möglich ist, das Problem mit einem Skript oder anderweitig zu lösen. Dann kann man nur hoffen, dass die nächste InDesign-Version besser ist.

In Auftrag geben sollte man nur JavaScripts und keine Apple- oder VB-Scripts, da JavaScript unabhängig von der Plattform eingesetzt werden kann.

Urheberrechte – gut zu wissen!

Ein Skript ist Software, somit geistiges Eigentum und urheberrechtlich geschützt. Urheber ist der Programmierer, er vergibt die Nutzungsrechte. Diesen Punkt sollte man vor der Auftragsvergabe unbedingt klären, also etwa ob und unter welchen Bedingungen ein Skript weitergegeben werden kann und darf.

Fallbeispiel Skript «Abschnitte zu PDF»

Der Zoo Basel möchte seinen Bundesordner mit den gesammelten Tierinformationen auf Papier in Zukunft als PDF auf einer CD verkaufen. Der Umfang umfasst mehr als 590 Seiten, 134 Tierarten und 20 Ökosysteme des Vivariums (nochmals etwa 200 Arten).

Eine Vorgabe war, dass sowohl alle Tierarten einzeln als auch die Ordnungen (beispielsweise alle Vögel) als PDF exportiert und abgegeben werden können. Dies aufgrund der Anfragen von Schülern, Studenten, Journalisten und anderen Interessierten.

Die Tierarten sind in Abschnitte eingeteilt. InDesign kennt aber keine Palette für Abschnittmarken – schön wärs! – und die Information, wo welcher Abschnitt steht, ist nur mit einem schwarzen Dreieck zu unterscheiden. Ausserdem kann aus InDesign nur ein zusammenhängendes PDF exportiert werden. Möchte man einen bestimmten Abschnitt exportieren, müssen die Seitenzahlen von Hand herausgeschrieben werden.

Aus dieser Problematik heraus wurden in zwei Durchgängen die folgenden Ansprüche formuliert:

    Beim Export muss unterschieden werden, ob aus der ganzen Buchdatei oder nur aus einem einzelnen Dokument heraus exportiert wird.
    Es muss ein Ordner angesteuert werden, in welchen die PDF-Dateien zu liegen kommen.
    Eine Liste führt alle Abschnitte mit dem Abschnittsnamen auf und kann ab- oder angewählt werden.
    Die PDF-Vorgaben müssen abgefragt werden können. Die Vorgaben werden im Toolkit eingetragen und müssen in InDesign vorhanden sein.
    Der Abschnittname wird automatisch in den Dateinamen geschrieben, wahlweise kann im Toolkit zusätzlich ein Präfix vergeben werden.
      Nach dem Export wird angezeigt, dass alles exportiert wurde. Alle exportierten PDF sind geöffnet und können kontrolliert oder mit
alt + cmd + W
    zusammen geschlossen werden.

Es ist erstaunlich, wie vielseitig dieses Skript zum Einsatz kommt. So habe ich eine Verwaltung mit sieben Abteilungen. Alle Drucksachen, von der Visitenkarte bis zum Kuvert, sind in einem einzigen InDesign-Dokument gelayoutet und können per Mausklick individuell als PDF exportiert werden.

Weiterentwicklung des Skripts

Mit neuen Programmversionen ergeben sich auch Weiterentwicklungen. Da mit CS6 neu Seitenetiketten vergeben werden können, ist es auch möglich, diese via Skript anzusteuern und Bereiche als PDF zu exportieren.

GREP statt Skript

Wo es ein Muster im Arbeitsablauf und beim Layouten gibt, ist nicht gesagt, dass ein Skript immer die beste Lösung ist. Vor allem Absatzformatierungen können mit GREP-Abfragen gelöst werden. Auch hier ist der Auftrag an einen Programmierer naheliegend, denn wer nicht täglich mit GREP arbeitet, ist extrem langsam und oft funktioniert es nicht so, wie man möchte. Hier ein Beispiel: Ein unformatierter Text aus Word hat folgende Struktur:

Leerzeile

1-zeiliger Absatz

Mehrzeiliger Absatz

Leerzeile

1-zeiliger Absatz

Mehrzeiliger Absatz usw.

Der 1-zeilige Absatz soll in einen Titel umformatiert werden. Ich habe eine Stunde lang probiert und es dann aufgegeben. Das folgende einfache GREP «Suchen nach» (?

Bei 134 Importen und Formatierungen mit je 10 Treffern kann sich jeder selbst ausrechnen, wie viel Zeit hier eingespart wird.

Noch effizienter ginge es mit Find Change by List, aber das ist ein eigener Beitrag im Publisher wert.

Basisskripte zu den in diesem Beitrage erwähnten Skripten finden Sie im Downloadbereich des Publisher (Abonnenten-Login erforderlich).

Was Skripte können

Fast alle Creative-Suite-Anwendungen können mit ExtendScript, einer Erweiterung der Programmiersprache JavaScript, programmiert werden. Die Automatisierung per Skript ist bei anspruchsvolleren Aufgaben dem Einsatz von Aktionen weit überlegen. So kann per Skript beispielsweise auf bestimmte Bedingungen reagiert werden. Mit Schleifen können Aufgaben wiederholt ausgeführt werden.

Was ist ein Skript?

Skripte sind eine Kombination aus Befehlen der Programmiersprache – diese sind übrigens mit dem im Web weitverbreiteten JavaScript identisch – und den programmspezifischen Befehlen aus dem so genannten Objektmodell (Document Object Model, DOM). Die Programmiersprache ist für den Ablauf und die Steuerung zuständig. Also beispielsweise dafür, ob ein bestimmter Befehl ausgeführt werden soll. Das Objektmodell ist für jedes Programm unterschiedlich.

Skripte in InDesign

Im Falle von InDesign finden sich zum Beispiel alle Befehle des Programms sowie die einzelnen Elemente eines Dokuments im DOM: Seiten, Textrahmen, Absätze, Formateigenschaften etc. Mit Skripts kann allerdings noch mehr gemacht werden: Es können neue Menüeinträge und grafische Benutzeroberflächen erstellt werden und es gibt sogar ein paar geheime Befehle, die nur per Skript angesteuert werden können.

Wie funktioniert ein Skript?

Vereinfacht kann man sich einen Roboter vorstellen, der InDesign bedient. Die Befehle werden in eine einfache Textdatei geschrieben, der Roboter beziehungsweise die ExtendScript-Engine des Anwendungsprogramms geht nun durch den Programmcode und führt diesen zeilenweise aus. Mit den folgenden drei Zeilen wird im gerade geöffneten Dokument in InDesign ein Textrahmen mit dem Text «Hallo Welt» erzeugt:

var tf = app.activeDocument.textFrames.add();

tf.geometricBounds = [20,10,40,190];

tf.contents = "Hallo Welt";

In der Umgangssprache würde die Befehlskette an den Roboter wie folgt lauten:

1. Verwende das aktuelle Dokument und füge einen Textrahmen hinzu.

2. Setze die Koordinaten des Textrahmens auf x = 10, y = 20, Breite = 180 und Höhe = 20.

3. Füge den Text «Hallo Welt» in den Textrahmen ein.

Die Autoren

Guido Köhler ist diplomierter wissenschaftlicher Illustrator und Inhaber des Ateliers G. Köhler & Co. in Binningen. Technisch ist das Atelier auf die Verbindung von Layout und Illustration mit hohen Volumina spezialisiert – sowohl im Druck- als auch im Webbereich. Guido Köhler ist Dozent an der Zürcher Hochschule der Künste (ZHDK) und berät Firmen in der Schweiz.

Gregor Fellenz entwickelt Workflows für die auto­matisierte Erstellung von Publikationen mit Adobe InDesign. Neben dem Programmieren ist er als Berater und Projektleiter tätig. Er ist Lehrbeauftragter an der Hochschule der Medien in Stuttgart und hat das Buch «InDesign automatisieren», erschienen im dpunkt Verlag, verfasst.

Artikel als PDF