Home Previous Zeitschrift 1999/10 Next Index
  Inhalt: 
 

    Einführung 

    Postscript-Steckbrief  

    Schleifen  

    Dateiriesen  

    Weitere Probleme  

    Die DSC  

    Autor  

 

Altlasten- von Postscript zu PDF  

Teil1: Postscript und die Folgen  

Müll rein - Müll raus. So lautet eine Grundregel der Informatik: Garbage in Garbage out. Wenn ein unvoreingenommener Betrachter sich die Eingabe eines nicht-Postscript-fähigen Belichters anschauen würde, wäre er überrascht, daß nicht ausschließlich Müll herauskommt. Die Zeichen sind völlig unanschaulich und für menschliche Gehirne nicht als Beschreibung von Druckseiten erkenntlich. Es ist die Sprache der Maschinen- diese kommen mit dem Kauderwelsch glänzend zurecht. Nun gibt es (glücklicherweise) Belichter verschiedener Hersteller und jeder dieser Hersteller ist stolz auf seine Entwicklungsabteilung, die ganze Arbeit leistet. Die Folge: Die Maschinen sprechen verschiedene Sprachen und wenn eine Datei an unterschiedliche Belichter geliefert wird, kann es zu Mißverständnissen kommen. Übrigens unterscheiden sich natürlich auch die Eingabesprachen der Bildschirme von denen der Belichter - what you see is not allways what you get. 

Sprachverwirrung ist bekanntlich ein effizientes Mittel, die Realisation großer Projekte zu behindern. Ende der 70er Jahre brachte dies die Firma Adobe auf die (goldene) Palme: 
Sie erfand die Seitenbeschreibungssprache Postscript. 

Postscript-Steckbrief  

„Die Seite ist 30 cm hoch und 27 cm breit. Ich beginne 10 cm von der Oberkante und 1 cm von der linken Blattkante entfernt und zeichne einen 5 cm langen, 0.5 cm dicken, waagerechten, schwarzen Strich nach rechts.“ Diese Beschreibung ist (bis auf einige Feinheiten) eindeutig. Wenn sie in einen Belichter eingegeben wird und dieser nicht den entsprechenden Film liefert, dann liegt es nicht an der Sprache selbst, sondern daran, daß der Belichter die Sprache nicht versteht. Die Beschreibung läßt sich leicht nach Postscript übersetzen: 

  • 28.35 566.93 moveto 
  • 14.17 setlinewith 
  • 141.73 566.93 lineto 
  • stroke 
  • showpage 
Das Ergebnis ist sowohl (mit etwas Übung, und wenn man weiß, daß die Maßeinheit in Postscript 1/72 inch ist) sowohl für Menschen als auch für (Postscript-fähige) Maschinen verständlich. Da diese Beschreibung ohne die Kenntnis des Ausgabegerätes (Belichter, Drucker, Bildschirm) und seiner Eingabesprache auskommt, besteht ein verbindlicher, direkter Bezug zwischen abstrakter Seitenbeschreibung und ausgedruckter Seite. Wer die Seitenbeschreibung lesen kann, der kann beweisen, ob ein fehlerhafter Ausdruck am Drucker liegt oder ob schon die Seitenbeschreibung falsch war. 

Die Bürde mit den Schleifen  

Stellen Sie sich einmal vor, Sie müßten die Seite, die Sie gerade lesen, über Telefon beschreiben. Am anderen Ende der Leitung lauscht ihr Belichter und belichtet fleißig, was Sie gerade beschrieben haben. Sie stellen fest, daß dies eine extrem aufwendige und langwierige Prozedur ist. Um die Beschreibungen kürzer zu halten und um Wiederholungen vermeiden zu können, führte Adobe bei Postscript die Schleifen ein. Schleifen und andere Kontrollstrukturen sind eine Erfindung der strukturierten Programmiersprachen und dienen dazu, in einem einzigen Satz eine vielfach wiederholte Anweisung zusammenzufassen. So kann zum Beispiel eine Schraffur entweder Linie für Linie oder aber in einer „solange, bis“-Schleife beschrieben werden: 

„Solange, bis der Anfangspunkt am Seitenrand ist tue folgendes: 

  • (Anfang der Anweisungen) 
  • Zeichne Linie von Anfangspunkt senkrecht nach oben, 5 cm lang. 
  • Verschiebe Anfangspunkt um 1 mm nach rechts. 
  • (Ende der Anweisungen)“ 
Zwischen „Anfang der Anweisungen“ und „Ende der Anweisungen“ können beliebig viele Befehle stehen- auch die Beschreibung mehrerer Seiten. Dies ist - wir werden noch darauf zu sprechen kommen - die Ursache für eines der Probleme mit Postscript. 

Dateiriesen 

Trotz der Verwendung von Kontrollstrukturen sind Postscriptdateien im allgemeinen sehr groß. Dies hat vor allem folgende Gründe: 

  1. Das für Menschen lesbare Format beinhaltet viele überflüssige Elemente, welche die Lesbarkeit steigern aber für die Seitenbeschreibung nicht notwendig sind. So könnten beispielsweise alle Befehle durch möglichst kurze (1, 2 oder 3 Buchstaben) Abkürzungen ersetzt werden. Die Dateigröße würde dadurch geringer. Dies wird übrigens häufig automatisch von den Programmen, die Postscript erzeugen, vorgenommen. Am Anfang der Postscriptdatei steht dann zum Beispiel „/s {showpage} def“, was bedeutet, daß ab dieser Zeile der Befehl „showpage“ durch die Abkürzung „s“ ersetzt werden kann. 
  2. Bilder, die Formen ohne fest umrissene Grenzen beinhalten, also Fotos oder Malerei, müssen Punkt für Punkt beschrieben werden. Da das menschliche Auge eine begnadet gute Auflösung besitzt, wird diese Beschreibung sehr lang. 
  3. Der wichtigste Grund für die Überlänge von Postscript-Dateien ist jedoch, daß sie keinen Gebrauch von der höheren Mathematik machen: Jede Beschreibung kann auf mathematischem Wege von überflüssigen Informationen (Redundanzen) befreit werden. Man nennt dieses Verfahren „Kompression“. So läßt sich beispielsweise eine Reihe von 113 Nullen, wie sie in einer Bildbeschreibungsdatei durchaus vorkommen kann (zum Beispiel als Beschreibung einer einfarbigen Fläche) durch eine Sequenz wie „<113;0>“ ersetzen, wenn zuvor festgelegt wurde, daß die Zeichen „<“,“;“ und „>“ als Steuerzeichen mit einer besonderen Funktion zu interpretieren sind. Auf diese Weise wurden 113 Zeichen durch 7, nämlich „<“,“1“,“1“,“3“,“;“,“0“ und “>“ ersetzt. Die ursprünglichen 113 Zeichen können jederzeit wiederhergestellt werden, wenn die Ersetzungsregel bekannt ist - die Zeichenreihe wurde also wiederherstellbar komprimiert. Als Postscript entwickelt wurde, waren solche Kompressionsverfahren schon bekannt, aber sie waren noch nicht standardisiert. Deswegen konnten diese Verfahren nicht in den Postscript-Standard aufgenommen werden. 
Heute ist dies anders: 
Es gibt Standardkompressionsverfahren mit Namen wie „zip“ oder „lzw“, die von Normenkommittees festgelegt sind. Adobe macht beim Portable Dokument Format, dem designierten Postscript-Nachfolger, von diesen Verfahren ausführlichen Gebrauch. 

Weitere Probleme mit Postscript  

Die Größe der Dateien ist jedoch nicht der einzige Wermutstropfen in der Postscript-Suppe: 
Dem Dateiformat fehlen zwei wünschenswerte Eigenschaften: 
Seitenunabhängigkeit und Editierbarkeit. 

Zur Seitenunabhängigkeit: 
Jedermann weiß, daß eine Postscriptdatei von Anfang bis Ende gerippt werden muß, auch wenn ausschließlich die letzte Seite belichtet werden soll. Ein Grund dafür ist die Existenz von Kontrollstrukturen. Es kann sein, daß in einer Postscriptdatei von 500 Katalogseiten nur eine einzige Seite tatsächlich beschrieben wird. Die Seitenbeschreibung steht in einer Schleife, die 500 mal mit veränderten Voraussetzungen (Parametern) durchlaufen wird. Bei einem Produktkatalog wäre zum Beispiel der Aufbau jeder Seite gleich, die Parameter wären das Bild des Produktes, der Name des Produktes und der Preis. Um den Inhalt der Seite 500 darzustellen, müssen also die Parameter für den fünfhundertsten Schleifendurchlauf berechnet werden - dies  geht nur, indem die Schleife auch tatsächlich 500 Mal durchlaufen wird. Also dauert die Belichtung der Seite 500 fast genauso lange wie die Belichtung der Seiten 1 bis 500 -eine höchst unangenehme Eigenschaft, vor allem, wenn die Seiten 1-499 gerade mal nicht gebraucht werden. Auch wäre es bei diesem Katalog nicht möglich, den Aufbau der Seite 500 zu ändern, ohne daß gleichzeitig alle andern Seiten mit geändert würden, denn in Wirklichkeit existiert ja nur eine einzige Seitenbeschreibung - womit wir beim Problem der Editierbarkeit wären. 
Was bedeutet Editierbarkeit? - viele Deutungen sind möglich. 

Was ist editierbar?  
„Editierbar ist, wenn der Autor anruft und sagt „Huch, ich habe einen Absatz vergessen!“ und dieser Absatz dann nachträglich eingefügt werden kann, ohne daß weitere Arbeitsschritte entstehen. Satz, Umbruch, Querverweise, Inhaltsverzeichnis und Seitenbezüge werden automatisch aktualisiert.“- Ist das zuviel verlangt? In Postscript ist dies nicht vorgesehen. Okay, wir wollen nicht so kleinlich sein. „Editierbar ist, wenn ein Schreibfehler in einer Zeile korrigiert werden kann, und der Blocksatz automatisch erhalten bleibt.“ In Postscript ist dies ebenfalls nicht vorgesehen. Gut, schrauben wir unsere Ansprüche noch weiter zurück: Ein Fehler in einer Zeile (Flattersatz) soll korrigiert werden können, ohne daß die anderen Wörter oder gar einzelne Buchstaben nachträglich zurechtgerückt werden müssen. Ah - dies ist mit Postscript möglich! 

Allerdings nur mit ordentlichem Postscript. Manche Treiber platzieren bei bestimmten Schriften jeden Buchstaben einzeln. So kann sogar ein solcher Fehler nur mit erheblichem Aufwand korrigiert werden. 

Wer nach der Editierbarkeit fragt, fragt also eigentlich danach, ob bestimmte Objekte (Seite, Absatz, Zeile, Wort, Zeichen oder auch Graphik) ohne großen Folgeaufwand korrigiert werden können. In Postscript können nur Grundelemente editiert werden. In der Praxis bedeutet dies schlicht, daß Postscript zumeist nicht editierbar ist. 

Die Document Structure Conventions  

Das muß nicht sein. In einer Postscriptdatei könnten Objekte wie Zeilen, Graphiken oder Seiten editiert werden, wenn auf Kontrollstrukturen weitgehend verzichtet würde, und  die Objektgrenzen (Anfang und Ende des Objektes) eindeutig festgelegt wären. Dies hat Adobe erkannt. Das Resultat dieser Erkenntnis (und anderer Überlegungen) sind die Adobe Document Structure Conventions (DSC). Die Document Structure Conventions sind Konventionen, also Regeln an die man sich halten sollte (aber unkonventionelles Verhalten ist ja durchaus möglich), und die Postscriptdateien leichter verarbeitbar machen. So wird zum Beispiel festgelegt: 

„Die Seitenbeschreibung besteht aus 1 bis n Seiten, die voneinander funktional unabhängig sein sollen. Dies bedeutet, daß es möglich sein sollte, die Seiten in jeder beliebigen Reihenfolge auszuführen und daß eine physikalische Umordnung der Seiten nur die Seitenreihenfolge eines Dokuments ändert, der Inhalt aber gleich bleibt.1 
 
Dies impliziert auch, daß jede Seite sofort belichtet werden kann, denn die Seiten können so umsortiert werden, daß die Seite, die belichtet werden soll, am Anfang der Datei zu stehen kommt. Mit dieser Konvention wird Seitenunabhängiges Postscript gefordert. 

Zur Editierbarkeit wissen die Document Strukture Conventions: 
„%% BeginObject: %%EndObject 
Diese Kommentare begrenzen einzelne graphische Objekte einer Seite. In einer Umgebung, wo es wünschenswert ist, einzelne Seitenelemente zu erkennen, liefern diese Kommentare einen Mechanismus, um auf Postscriptebene Objekte zu benennen und wiederzuerkennen. Benennen von Objekten ist besonders dann sinnvoll, wenn ein Drucksystem einzelne ausgewählte Objekte eines Dokumentes oder einer Seite drucken kann.1 

Die Document Structure Conventions führen also den Begriff des Objektes in die Sprache Postscript ein, indem sie zwei Schlüsselwörter für die Bezeichnung des Beginns (%%BeginObject:) und des Endes (%%EndObject:) eines Objektes anführen. Dies ist die Gundvoraussetzung für die Editierbarkeit von Objekten. Da Postscript für diese Aufgaben keine Befehle kennt, werden spezielle Kommentare benutzt. Kommentare sind Zeilen in einer Postscriptdatei, die keinen Einfluß auf die Ausgabe haben und nur dazu dienen, die Datei zu strukturieren, lesbarer zu machen und zusätzliche Informationen zu transportieren. 

Es gibt verschiedene Postscript-putz-Programme, also Konversionsprogramme, die - im Rahmen der Möglichkeiten eines Computers- zu Postcriptdaten DSC-Kommentare hinzufügen und so „sauberes“=DSC-konformes Postscript erzeugen.DSC-konformes Postscript ist jedoch nicht automatisch editierbar, da der Computer die Objektgrenzen nicht in allen Fällen automatisch erkennen kann. Eine Ausnahme stellt hier das Objekt „Absatz“ dar: Durch Betrachtung der Zeilenabstände, der Umbruchzeichen und der Schriftarten ist es relativ leicht, festzustellen, wo ein Absatz anfängt und wo er aufhört. 

Dies macht sich zum Beispiel das Programm „DigiScript“ zunutze, das die Grenzen der Absätze berechnet, Absätze zusammenfaßt und sie so editierbar macht. Bei den meisten anderen Objekten ist dies jedoch nicht möglich, denn dabei müßte ein Computer beispielsweise in der Lage sein, die auf einer Zeichnung abgebildeten Dinge zu unterscheiden, also die Zeichnung so zu betrachten wie ein Mensch - ein ungelöstes Problem der Informatik. 

Leider konnten sich die Document Structure Conventions nie recht durchsetzen. Ihre Anwendung konnte eben nicht erzwungen werden. Folglich versuchte Adobe die Mängel von Postscript in einem neuen Datenformat - verbunden mit vielen neuen Ideen und Ansätzen - zu beheben- dem Portable Document Format. Inwieweit dieses in der Lage ist, bessere Ergebnisse als Postscript zu liefern, darüber mehr im zweiten Teil dieses Artikels. 

 
 
 

Axel Benz
(Beratung PDF im Betrieb)
Fraunhofer IAO
Nobelstraße 12
70569 Stuttgart
axel.benz@iao.fhg.de
 
 


 


Quelle: Adobe Document Structure Conventions, erhältlich über www.adobe.com, Übersetzung aus dem Englischen vom Autor 
 
 

Zum Seitenanfang
 

© ADOLPH Verlag GmbH - Letztes Update 03.05.2004