quaestio schrieb:
Ist PostScript als Treiberersatz zu verstehen?
Nein. Postscript ist eine Programmiersprache, die beschriebt, was auf der auszudruckenden Seite landen soll, also eine Sammlung von Dingen wie "gehe an stelle a,b ... zeichne ab da eine Linie hin zu Stelle b,c" oder "schreibe das Wort Bla an diese Stelle mit der Schriftart X und -größe Y". Dazu kommen all die typischen Elemente imperativer Programmiersprachen wie Schleifen, Variable usw.
quaestio schrieb:
Kann ich also beispielsweise einen Drucker, der an einen Linux PC angeschlossen ist ansprechen, ohne einen speziellen Linuxtreiber für den Drucker zu besitzen? Kann sich das PopstScript darum kümmern?
Nein. Postscript selbst ist erstmal geräteunabhängig. Das eigentliche Druckwerk eines Druckers kennt aber sowas wie "Linien" oder "Text" gar nicht. Aus der Postscript-Beschreibung der Seite muß demnach zuerst ein Pixelbild errechnet werden, also das "Postscript-Programm" ausgeführt werden. Dazu brauchts einen halbwegs leistungsfähigen Prozessor und ein paar Megabyte Speicher bei hochauflösenden Bildern, in dem aus den Postscript-Befehlen nach und nach virtuell das Pixel-Bild "gemalt" wird. Ist das virtuelle Pixel-Bild im Speicher fertig berechnet, kann es vom Druckwerk ausgedruckt werden.
Rein praktisch gibts 2 Varianten für dieses Vorgehen:
1) Der Drucker versteht selbst Postscript:
Er hat also intern Postscript-Interpreter, eine CPU, viel Speicher und macht alles was ich beschrieb intern. Grundsätzlich kann man jedem postscriptfähigen Drucker unabhängig vom Modell das Postscript-File einfach so übergeben und er bringt es zu Papier. Es ist leicht nachzuvollziehen, daß billige Drucker sowas nicht können, da einiges an Hardwareaufwand nötig ist und IMHO außerdem eine Lizenzzahlung an Adobe fällig wird.
2) Der Drucker versteht kein PostScript:
Dann übernimmt ein Stück Software (ein Postscript-Interpreter und Renderer wie etwa "
ghostscript") auf deinem Rechner die Ausführung des Postscript-Programms und zeichnet das Pixelbild im Speicher deines Rechners. Dieses wird dann zum jeweiligen Drucker geschickt. Da jeder Drucker das Pixelbild in einem anderen Format bekommen möchte, muß der Renderer-Teil des Postscript-Interpreters verschiedene druckerspezifische Formate ausspucken können, um verschiedene Drucker bedienen zu können, z.B. etwa PCL für viele HP-Drucker. Der "Druckertreiber" steckt dann also im Postscript-Renderer. Man kann den Postscript-Renderer auch solche Pixelformate wie JPEG o.ä. als Zwischenformat erzeugen lassen und dann über einen zusätzlichen Schritt (und gerätespezifische Treiber) auf einem Feld-Wald-und-Wiesen-Drucker ausdrucken.
Das war jetzt nur das grobe Prinzip. In Wirklichkeit haben auch Postscriptdrucker unterschiedliche Features, die man über eine Art """Treiber""" dem Rechner mitteilen kann. Fragen wie "wieviele und welche Einzüge hat der Drucker? Welche Formate kann der Drucker?" usw. muß der Rechner ja irgendwie mitgeteilt bekommen.