InDesign als Layoutmaschine für XML

Adobe InDesign Layoutmaschine XML

Jeder, der als Dienstleister mit XML-Daten umgeht, kommt auch in Zeiten von Tablets, HTML5 und Gestenbedienung nicht darum herum, PDFs zu erzeugen:

  • Gedrucktes transportiert Marketingbotschaften
    (Haptik, Branding, Beständigkeit, Exklusivität)
  • Gedrucktes ist selbst ein Verkaufsobjekt
    (oder ein weiterer Vertriebskanal für e-Content)
  • Manchmal ist Gedrucktes gesetzlich vorgeschrieben:
    Die Bedienungsanleitung gefährlicher Maschinen muss
    an der Maschine auch bei Strom- oder Displayausfällen lesbar sein
    Für die PDF-Erzeugung aus XML gibt es je nach Branche typische Werkzeuge, die aus zwei Gründen eingesetzt werden:
  • Wegen ihrer typischen Stärken
  • Einfach deshalb, weil sie in einer Branche „üblich“ sind
    (z. B. FO-Prozessoren in der XML-Branche, Web2Print-Engines in der Web-Branche).

Für Dienstleister haben viele Werkzeuge trotz aller Stärken entscheidende Nachteile. Dieser Artikel zeigt, wie die Acolada GmbH, ein Anbieter für Software und Dienstleistungen aus dem XML-Umfeld, mit dem Thema umgegangen ist.

Das  „Übliche“ ist relativ

Wer alt genug ist, erinnert sich vielleicht noch daran:

Ob WML und BTX „gut“ waren, spielt keine Rolle mehr: durchgesetzt hat sich ein anderes Format (HTML), eine andere Plattform (das Internet) und eine andere Trägerapplikation (der Browser). Was üblich ist, ändert sich also mit der Zeit.

Die Blumen in Nachbars Garten

In der XML-Branche sind für die Erzeugung von PDF aus XML zwei Anwendungsklassen „üblich“:

  • Sog. FO-Prozessoren (z. B. Apache FOP oder RenderX)
  • Tools für besondere Anwendungsfälle (z. B. für Loseblattwerke).

In anderen Branchen sind andere Systeme üblich (z. B. Adobe FrameMaker) und „weit verbreitet“ oder sogar andere Formate als XML (z. B. LaTeX).

Immer mehr Kunden jedoch, auch die von Acolada, waren zunehmend vom Funktionsumfang von Anwendungen wie Adobe InDesign verwöhnt:

  • Für Adobe InDesign sind Schmuckfarben kein Problem
  • Es ist ganz leicht, vor dem Druck einen Rahmen an eine andere Stelle zu schieben.
  • Grafisch aufwendige Layouts sind mit InDesign einfach machbar.
  • Für alle Fragen rund um InDesign gibt es Tausende von Internetseiten und Foren

Für XML-Dienstleister bedeutet dies schlicht folgendes:

  • Die Kunden der eigenen Branche sehen, dass manche Dinge mit Tools aus der XML-Branche nur schwierig, kostspielig oder gar nicht machbar sind.
  • Ein Kunde, der das nicht akzeptieren kann, bleibt nicht mehr lange Kunde, außer man findet als XML-Dienstleister trotzdem eine Lösung.
  • Um neue Kunden zu gewinnen, muss man auch Tools unterstützen, die in anderen Branchen üblich sind.

Die Entscheidung für Adobe InDesign

Wenn man als Softwarefirma ein fremdes Produkt als wichtiges Werkzeug oder als Teil des eigenen Geschäftsauftritts herausstellt, geht das nur unter folgenden Bedingungen gut:

  • Man muss ein stets einsatzbereites Entwicklungs- und Testsystem vorhalten. Nur so kann man neue Versionen des Produkts schnellstens testen und integrieren.
  • Man muss sich bisweilen auch um Supportfälle kümmern, die sich auf das Drittprodukt beziehen, egal ob man sie selbst stemmt oder mit dem Hersteller klärt.

Jede Drittsoftware und jeder Softwarepartner vergrößert zwar das eigene Portfolio, aber auch die Anzahl der beweglichen Teile, die reibungslos zusammenspielen müssen.

Acolada hat sich aus den genannten Gründen für eine Lösung auf Basis von Adobe InDesign entschieden:

  • InDesign ist in vielen Branchen der Standard.
  • Funktionen, die InDesign schon hat, muss Acolada nicht selbst programmieren.
  • Acolada hat schon eine Software-Partnerschaft mit Adobe und kennt wichtige Ansprechpartner
  • Acolada hatte bereits Erfahrung mit der Programmierung von Adobe-Produkten

Die Tücke im Detail

Ohne Programmierung ließ sich beim XML-Import in InDesign im Großen und Ganzen aber nur wenig automatisieren:

  • Absatz- und Zeichenstile zuweisen
  • Tabellen erzeugen und ihnen einen Tabellenstil zuweisen
  • Zellen einen Zellenstil zuweisen
  • Bilder inline platzieren

Alle weiteren Satzaufgaben, selbst einfache wie die Positionierung von Bildern oder Text in verankerten oder freien Rahmen, sind ohne Programmierung nicht automatisierbar. Erst recht gilt das für dynamische Satzfunktionen wie die Erkennung und Behandlung von Textübersatz oder die Berechnung von Tabellenbreiten usw.

Das XML-basierte Austauschformat IDML, das Adobe InDesign neben seinem Standard-Dateiformat untertützt, schied für Acolada jedoch aus den gleichen Gründen aus:

  • IDML muss außerhalb von Adobe InDesign generiert werden.
  • Auf manche Informationen, die man für dynamischen Satz braucht, kann man aber nur innerhalb von Adobe InDesign zugreifen, also nicht von IDML aus.

Zudem würde jede Lösung, die direkt IDML schreibt, schlagartig nutzlos, sobald Adobe das IDML-Format ohne Mitteilung ändert oder abschafft.

Acoladas Lösung: Adobe InDesign über ein selbstprogrammiertes Plugin und selbsterfundene Satzbefehle fernsteuern

Die flexibelste Lösung, die Acolada für sich gefunden hat, ist folgende:

1. Ein XML-Dokument wird über XSL mit selbsterfundenen Satzbefehlen vervollständigt. Das XML wird also in seine eigene Satzvorschrift verwandelt:

Ein XML-Dokument wird über XSL mit selbsterfundenen Satzbefehlen vervollständigt. Das XML wird also in seine eigene Satzvorschrift verwandelt:

2. Das selbstprogrammierte InDesign-Plugin interpretiert die Satzbefehle und steuert Adobe InDesign fern:

Das selbstprogrammierte InDesign-Plugin interpretiert die Satzbefehle und steuert Adobe InDesign fern:

 

Acolada hat die Satzbefehle so ausgelegt, dass sie sich stets auf die Namen der Stammseiten und Formatvorlagen einer InDesign-Dokumentvorlage beziehen. Nur was nicht über Formatvorlagen transportabel ist wird hart zugewiesen: (z. B. feste Spaltenbreiten in Tabellen).

Das hat positive Folgen:

1. Das Aussehen des fertigen Dokuments entsteht nur durch die Definitionen der Dokumentvorlage.

2. Für neue Layouts braucht man nur andere Dokumentvorlagen: Solange die Namen der Formatvorlagen gleich sind, wird jede Dokumentvorlage funktionieren.

3. Solange sich Struktur des XML nicht ändert (Elementnamen, Attributnamen, Anordnungskonventionen) muss nichts anders programmiert oder konfiguriert werden.

Gegenüber InDesigns eigener Skriptsprache ExtendScript hat die Methode Vorteile:

1. Es ist unwichtig, ob ein benötigtes Feature über die GUI oder ExtendScript erreichbar ist. Das selbstprogrammierte InDesign-Plugin kann auf jedes InDesign-Feature zugreifen.

2. Wenn es zu einem benötigten InDesign-Feature noch keinen Satzbefehl gibt, erfindet Acolada den Satzbefehl und passt das InDesign-Plugin an.

Auch die Vorteile gegenüber FO liegen auf der Hand:

1. Was ein FO-Prozessor nicht kann, kann man ihm nicht beibringen.

2. FO-Layouts sind programmiert oder über kostspielige Zusatzprogramme konfiguriert.

3. Veränderte oder neue Layouts führen bei FO stets zu neuer Programmierung und Konfiguration.

4. Ein automatisch erzeugtes InDesign-Dokument kann, wenn notwendig, layoutmäßig manuell optimiert werden (schönere Seitenumbrüche, geringfügig andere Bildausschnitte usw.).
Bei einem über FO generierter Output ist dies nicht möglich.

Die von Acolada verwendete Lösung, genannt myFabulousAgent, ist inzwischen so ausgereift, dass auch andere Dienstleister sie nutzen:

  • Sie läuft überall da, wo es InDesign gibt (auch auf Macs).
  • Jeder, der XSL kann, kann myFabulousAgent selbst konfigurieren.
  • Die Acolada-Satzbefehle (>300 Stück) sind gründlich dokumentiert.

Die folgende Liste zeigt eine Auswahl, was Acolada mit myFabulousAgent realisiert hat:

  • Stammseitenzuweisung
  • Platzierung von Inhalten in Rahmen mit Objektformaten
  • Zusammenhalten ganzer Textbereiche
  • Platzierung von Inhalten in Ebenen
  • Ein- und Ausblenden von Ebenen in AI- und PSD-Grafiken
  • Automatische Begrenzung der Bildhöhe oder –breite nach Regeln
  • Breitenraster für Bilder oder Tabellen im Mehrspaltensatz Berechnete Positionierungen, z.B. für wandernde Taben am Seitenrand
  • Tabellen in Tabellen
  • Zellstile je nach Position der Zelle
  • Rahmenfüllung von unten her, z.B. für Impressumsseiten
  • Dokumente in Arabisch und Thai
  • Textüberlaufprüfungen Abspeichern manueller
  • Layoutänderungen des InDesign-Output

bild_3_2

 

INHALT