# Seitenbeschreibungssprache

Eine Seitenbeschreibungssprache (englisch Page Description Language; kurz: PDL) beschreibt den exakten Aufbau einer Seite, wie diese später in einem speziellen Ausgabeprogramm oder -gerät, wie einem Drucker, aussehen soll. Dabei handelt es sich um Ausgabeformate, die in der Regel nicht zur weiteren Bearbeitung vorgesehen sind.
Mit Hilfe von Seitenbeschreibungssprachen wird für eine zu druckende Aufgabe ein Datenstrom erzeugt, welcher an den Drucker gesendet wird. Je nach Sprach-Variante und Druckinhalt besteht dieser Datenstrom aus:
* ASCII-Klartext und einfachste Fernschreiberkommandos wie z. B. Zeilenvorschub (siehe z. B. PostScript)
* Escape-Sequenzen (siehe z. B. Printer Command Language)
* Binärdaten

## Abgrenzung

Man unterscheidet Seitenbeschreibungssprachen im Allgemeinen von Druckersprachen, die in der Regel hardwarespezifischere Befehle zum Ansteuern von Druckerkomponenten enthalten.
Seitenbeschreibungssprachen arbeiten auf einem höheren (Abstraktions-)Niveau als einfache Rastergrafiken, indem sie beispielsweise Seiten mit Vektoren beschreiben. Dadurch wird bei der Ausgabe im Allgemeinen ein qualitativ besseres Ergebnis trotz geringeren Speicherverbrauchs erzielt.
Seitenbeschreibungssprachen definieren primär die fixe grafische Darstellung von Inhalten auf einer oder mehreren Seiten fester Größe und werden mitunter wie Grafikformate benutzt. Im Gegensatz dazu muss bei Auszeichnungssprachen wie HTML oder XSL-FO die exakte grafische Darstellung erst von einem Programm (z. B. einem HTML-Renderer) berechnet werden, wobei unterschiedliche grafische Darstellungen für unterschiedliche Ausgabemedien mit verschiedenen Eigenschaften möglich sind. Dabei kann etwa zwischen Druck- und Bildschirmausgabe differenziert werden und die Abmessungen des Ausgabemediums können berücksichtigt werden. Die Umwandlung in die gerasterte Druckausgabe auf dem Drucker erfolgt über den Raster Image Processor (RIP).
Seitenbeschreibungssprachen stellen auch eine Schnittstelle zum Quellcode eines Schriftstücks (etwa in einer Auszeichnungssprache notiert) bzw. zu Programmen, die den Quellcode verwalten (Editoren) oder das Dokument formatieren (Satzprogramme, viele Textverarbeitungsprogramme tun beides). Dabei kann eine „Abstraktion“ in der Form entstehen, dass eher semantische Information (semantisches Markup oder Zuordnung zu Formatvorlagen) verloren geht, die es gestatten oder erleichtern würde, das Dokument auch anders zu formatieren, z. B. Schriftgrößen von Überschriften und Fließtextabsätzen zu ändern.

## Verwendung

PostScript und andere Seitenbeschreibungssprachen waren lange dafür da, ihren Code von Computern an („PostScript-fähige“) Drucker zu senden, so dass in letzteren die Umrechnung in Steuerbefehle (RIP) stattfand. Viele Programmierschnittstellen der Hardwareabstraktionsschicht wie GDI oder OpenGL können dementsprechend ihre Ausgaben in Seitenbeschreibungssprachen machen. Alternativ
legt ein Satzprogramm den Seitenbeschreibungscode eines Dokuments in einer Datei ab. Diese kann man mit einem Dateibetrachter wie Ghostview (Postscript), Adobe Reader (PDF) oder YAP (für DVI unter Windows) bzw. xdvi (für DVI unter Linux – vgl. DVI-Betrachter) als Vorschau am Bildschirm betrachten und ausdrucken lassen. Der Drucker muss dazu die Seitenbeschreibungssprache nicht selbst verarbeiten können, stattdessen kann der Betrachter den Drucker über die Hardwareabstraktionsschicht des Computers ansprechen. Unter dem Common Unix Printing System, der Standard-Druckersteuerung unter Linux, fungiert der PostScript- und PDF-Interpreter ghostscript als RIP im Computer. Solche Seitenbeschreibungsdateien sind auch für den elektronischen Austausch von Dokumenten bzw. ihre Verbreitung (Online-Publikation) gegenüber den Quellformaten vorteilhaft, da sie dem Empfänger das Neuerzeugen der Ansichtsversion des Dokuments (was sogar scheitern kann) ersparen („Austauschformate“).
Die Seitenbeschreibungssprache PDF erweitert die Funktionalität der „Vorschau“ am Bildschirm um Hypertextfunktionalität, so dass man sich beim Lesen keine Seitennummern merken muss, um Verweisen aus dem Inhaltsverzeichnis und Querverweisen zu folgen, sondern stattdessen Links anklickt. Ebenso wenig muss man Verweisen aus dem Schriftstück ins Internet keine URL in die Adresszeile eines Webbrowsers tippen oder kopieren, vielmehr öffnet der (Standard-)Browser die Zielseite, wenn man auf einen Link im angezeigten Text klickt. Die URL muss nicht einmal angezeigt/gedruckt werden. Siehe auch PDF#Navigation am Bildschirm.

## Einzelne Seitenbeschreibungssprachen

* Advanced Function Presentation (AFP)
* Device independent file format (DVI)
* ditroff (Zwischenformat von troff und groff)
* Digital Microprocessor Plotter Language von Houston Instruments (DMPL)
* Hewlett Packard Graphic Language (HPGL)
* Personalized Printing Markup Language (PPML)
* Portable Document Format (PDF)
* PostScript (PS), ähnlich Interpress
* Printer Command Language 6 (PCL6)
* Ultra Fast Rendering (UFR)
* Variable Print Specification (VPS)
* Variable-Data Intelligent PostScript Printware (Xerox VIPP)
* XML Paper Specification (XPS)
* Zebra Programming Language (ZPL, vorrangig Etikettendruck)

## Geschichte

Die ersten Seitenbeschreibungssprachen entstanden, als Laserdrucker, die Grafiken in hoher Qualität ausgeben konnten, verfügbar und immer billiger wurden. 1973 wurde in Xerox’ Palo Alto Research Center (PARC) der erste kommerziell verwendbare Laserdrucker (EARS) fertiggestellt, der mit dem PC Xerox Alto über eine grafische Benutzeroberfläche mit Maus-Bedienung angesteuert werden konnte (→Laserdrucker#Geschichte). Ebenfalls am Xerox PARC entwickelten dann John Warnock und Charles Geschke die Seitenbeschreibungssprache Interpress, die Xerox aber nicht vermarkten wollte. Warnock und Geschke verließen Xerox 1982, gründeten Adobe Inc. und vermarkteten das weiterentwickelte InterPress unter dem Namen PostScript. 1984 veröffentlichte Xerox aber InterPress.
Ein Übersichtsartikel von 1988 zitierte bereits acht Charakterisierungen von Seitenbeschreibungssprachen aus früheren Veröffentlichungen, etwa als Schnittstelle zwischen Computer und Drucker, die das Zusammenfügen von Text und Grafiken auf je einer Seite mit grafischen Effekten wie Zeichensatzwahl, Rotation, und Skalierung unabhängig vom Ausgabegerät erlaubt. Durch Rotation können auf derselben Seite Textzeilen in unterschiedlichen Richtungen verlaufen (neben waagrecht auch senkrecht/schräg). Ausgabegeräte konnten damals Drucker, Bildschirme und Fotosatzmaschinen sein. Geräteunabhängigkeit bedeutet, dass eine Datei, die ein Dokument mithilfe der Seitenbeschreibungssprache darstellt, auf allen Ausgabegeräten bis auf Skalierung („Zoomen“ in der Bildschirmanzeige oder Verkleinerung, damit eine Seite auf ein DIN-A4-Blatt passt) dasselbe Erscheinungsbild liefert, soweit die unterschiedlichen Bildauflösungen und Farbdarstellungsweisen (verschiedener Drucker oder des Bildschirms) das zulassen. Dadurch wurde erst die Vorschau so möglich, dass die Seitenkomposition (page composition im genannten Artikel) am Computerbildschirm unter weitergehendem Verzicht auf (langsame und kostspielige) Probeausdrucke kontrolliert und überarbeitet werden kann. Dies ist die Grundlage des Desktop Publishing, das in seiner heutigen Form, auf der Grundlage von PostScript, implementiert auf dem Apple LaserWriter, und des Layout-Programms PageMaker 1985 eingeführt wurde.
Bestimmte Charakteristika von PostScript wurden als Designfehler betrachtet, zudem forderte Adobe dafür hohe Lizenzgebühren und der Bildschirmtreiber war teuer, so dass bald Konkurrenzprodukte (für Drucker anderer Hersteller als Apple) entstanden.
Unabhängig davon wurde seit 1979 das Device independent file format (DVI) als Zielformat für das Textsatzprogramm TeX entwickelt, das für wissenschaftliche Veröffentlichungen, in denen mathematische Formeln eine große Rolle spielen, genutzt wird. Dieses gibt nativ jedoch nur die Positionen horizontaler Textzeilen und waagrechter oder senkrechter Balken wieder. Zur Berücksichtigung von Grafik kann TeX die benötigten Felder auf der Seite von Text freihalten. Auch Farben werden nativ nicht unterstützt. Diagramme können durch Zeichensätze für Bestandteile oder durch Zusammenfügen einer großen Zahl winziger Punkte dargestellt werden. Ansonsten werden Informationen für Grafikprogramme in die DVI-Datei eingebettet, so dass mithilfe von Gerätetreibern grafische Effekte am Bildschirm und auf dem Drucker dargestellt werden können. Insbesondere wird das Format noch heute (2015) mit eingebetteten PostScript-Befehlen verwendet, um etwa mithilfe des Treibers dvips eine Darstellung des Dokuments im PostScript-Format zu erzeugen. Heute verfügbare DVI-Betrachter können aber auch einen Großteil der grafischen Effekte direkt aus der DVI-Datei heraus (am Bildschirm) darstellen und drucken. DVI genügt als Seitenbeschreibungssprache also nur dem Kriterium der Geräteunabhängigkeit hinsichtlich horizontal gesetzter Textzeilen oder Zeichen und senk-/waagrechter Balken (am Bildschirm auch skalierbar), weniger den grafischen Kriterien. Es wird praktisch nur noch als Zwischenformat verwendet, um den typografisch höchsten Ansprüchen (insbesondere bei mathematischen Formeln) genügenden Textsatz von TeX mit den Fähigkeiten von Grafiksoftware zu verbinden.
Zu sehr ähnlichen Zwecken wie TeX wurde vorher troff von Joseph Ossanna entwickelt. Es konnte die neuen Laserdrucker nicht ansteuern, deshalb machte sich Ossanna an eine neue Version mit geräteunabhängiger Ausgabe, die, wie bei TeX, wegen device-independent auch ditroff genannt wird. Auch das Ausgabeformat wird ditroff genannt. Ossanna starb 1977 vor Fertigstellung des ausgabeunhängigen troff, es wurde ab 1979 von Brian Kernighan weiterentwickelt.
Nicht erfasst wird von der angegebenen Literatur die „Anforderung“ Hypertextfunktionalität, die ab 1989 in HTML (Zeilenumbrüche variabel) und dann in der Seitenbeschreibungssprache Portable Document Format (PDF; erneut von Adobe Inc.) umgesetzt wurde, das heute ein Standard-Austauschformat darstellt. Mit dieser Seitenbeschreibungssprache ist die „Vorschau“ am Bildschirm nicht mehr nur ein Hilfsmittel, um Probeausdrucke zu vermeiden, sondern bietet komfortable Funktionen, die im Ausdruck nicht möglich sind: bei Querverweisen und Literaturangaben muss man nicht zum Ziel blättern, sondern kann durch Klicken auf den Verweis direkt auf die Zielseite springen. Navigation innerhalb des Dokuments wird auch durch Seitenicons oder Anzeige von Gliederungsbäumen (dem Inhaltsverzeichnis entsprechend) erleichtert. Klickt man auf externe Links, so wird das Zieldokument im Webbrowser angezeigt. Diese Funktionen müssen allerdings durch die Erzeugungssoftware von den Verfassern „eingebaut“ (etwa mit LaTeX und dem LaTeX-Erweiterungspaket, vgl. PDF#TeX/DVI) und vom Betrachter implementiert sein. PDF wurde 2008 als ISO 32000-1:2008 ein offener Standard.