# Technische Übersicht

Dieses Kapitel soll Ihnen eine technische Übersicht von &kdeprint; geben, die für Nicht-Programmierer verständlich ist.

&kdeprint; ist ein neues, Maßstäbe setzendes Programmpaket, das sowohl &kde;-Benutzern als auch &kde;-Entwicklern einfachen Zugang zu den Druckdiensten bieten soll.

## Eine kurze Beschreibung von &kdeprint;

Zugriff auf die Funktionen von &kdeprint; erhalten Sie auf verschiedene Weise: durch die Druckerverwaltung im &kcontrolcenter;, durch den Befehl `kprinter` oder durch den Dialog, der Ihnen beim Drucken angezeigt wird.

### Was dieses Programm nicht ist.

&kdeprint; ersetzt nicht das Drucksystem selbst. &kdeprint; enthält kein System für das Zwischenspeichern von Druckaufträgen und es kann auch nicht &PostScript; oder andere Daten verarbeiten.

### Was dieses Programm ist

&kdeprint; ist eine Schicht zwischen dem Druckauftragsspeicher, dem Daten verarbeitenden Drucksystem und der Anwendung die drucken will. &kdeprint; stellt für &kde;-Entwickler und &kde;-Benutzer eine allgemeine Schnittstelle zu unterschiedlichen unterstützten Drucksystemen zur Verfügung. Es ist aber auch gleichzeitig anpassbar und lässt sich in hohem Maße einrichten.

&kdeprint; ist in der Handhabung sowohl für &kde;-Entwickler als auch für normale Benutzer einfach. Entwickler können Ihre Anwendungen mit minimalen Änderungen vom alten &Qt;-Drucksystem zu &kdeprint; portieren. Benutzer können ihr Drucksystem einfach auswählen und einrichten.

Ein Hinweis für neue &kde;-Benutzer: &Qt; ist die grundlegende Bibliothek und die graphische Basis, die von allen &kde;-Anwendungen benutzt wird. &Qt; wird von TrollTech, einer norwegischen Softwarefirma, entwickelt.

## &kdeprint;: Eine Vielzahl von Möglichkeiten für eine Vielzahl von Personen

&kdeprint; bietet unterschiedliche Personen unterschiedliche Möglichkeiten.

### Was Benutzer und Systemverwalter mit &kdeprint; machen können.

&kdeprint; ermöglicht Benutzern und/oder Systemverwaltern, abhängig von ihren Benutzerrechten, den Zugriff auf Drucksysteme wie &CUPS;, LPD, RLPR, LPRng PDQ &etc; durch eine graphisches Benutzeroberfläche (&GUI;). Durch &kdeprint; können Sie auf komfortable Weise Druckaufträge, Drucker und den Druckdämon verwalten.

Erfahrene Benutzer werden die Möglichkeit zu schätzen wissen, jeden funktionierenden Filter für Druckdaten zwischen die Ausgabe ihrer Anwendung und den Eingang des Drucksystems schalten zu können. Einige Beispiele dafür werden mit dem vorinstallierten &kdeprint; schon mitgeliefert.

### Was &kde;-Entwickler mit &kdeprint; machen können...

Wenn ein &kde;-Entwickler Zugriff zum Drucken für seine Anwendung braucht, programmiert er die Druckfunktionen nicht von Grund auf neu. Vor &kde; 2.2 wurden diese Funktionen von der `QPrinter`-Klasse der &Qt;-Bibliothek zur Verfügung gestellt. Die `QPrinter`-Klasse basierte auf dem in die Tage gekommenen Line Printer Daemon (LPD). Die &kdeprint;-Bibliothek basiert dagegen auf dem moderneren Common &UNIX; Printing System (&CUPS;). Trotzdem ist &kdeprint; abwärtskompatibel zu LPD und anderen weniger entwickelten Drucksystemen und bietet genug Möglichkeiten für neue Entwicklungen, die erscheinen könnten.

&kde;-Entwickler müssen den Quelltext in ihren Anwendungen nur minimal verändern, um die neue &kdeprint;-Klasse zu benutzen: Jeden Aufruf von `QPrinter` müssen sie einfach durch `KPrinter` ersetzen. Mit nur einem Buchstaben an einigen wenigen Stellen sind sie schon fertig. Die Anwendungen können dann alle Fähigkeiten der neuen &kdeprint;-Bibliothek benutzen.

Entwickler, die größere Ambitionen oder spezielle Bedürfnisse haben, können weitere Dinge verändern: Sie können den Druckdialog ihren Anwendungen entsprechend anpassen indem sie dort zusätzliche Karteikarten erscheinen lassen, wo ihnen die Erweiterung des Standard-&kdeprint; sinnvoll erscheint.

Ein Beispiel ist das &kcron;-Dienstprogramm. Mit dem Programm lassen sich regelmäßige Programmabläufe auf dem Rechner über eine graphische Oberfläche einrichten. Die Entwickler haben eine Druckfunktion eingebaut, die es Ihnen (oder dem Benutzer root) ermöglicht, selbst auszuwählen, ob Sie die ganze Tabelle (von allen Benutzern) oder nur einen markierten Teil ausdrucken wollen. Sie können die Auswirkung auf &kdeprint; im folgenden Bildschirmphoto sehen.

Dieses Bildschirmphoto zeigt ein Beispiel des &kcron;-Dienstprogramms. &kcron;-Dienstprogramm: Ein kleines Beispiel eines Systemwartungsauftrags, wie er auf der Benutzeroberfläche von &kde; dargestellt wird. Die &kcron;-Entwickler lassen Sie auswählen, ob Sie die ganze Tabelle oder nur den markierten Teil drucken wollen.

Der Dialog, um die Druckeinstellungen von &kcron; zu verändern: Die zusätzliche Karteikarte Cron Optionen gehört zu &kcron;, nicht zu &kdeprint;. Es ist eine spezielle Erweiterung, die von den &kcron;-Entwicklern hinzugefügt wurde und nicht von &kdeprint; stammt, dadurch aber ausgeführt wird. Entwickler anderer Anwendungen können so ihre eigenen zusätzlichen Funktionen einbauen, wenn sie dies benötigen.

Die Zusätze von &kcron; zum &kdeprint;-Dialog.
Die Zusätze von &kcron; zum &kdeprint;-Dialog.

Die Zusätze von &kcron; zum &kdeprint;-Dialog.

### Welche Möglichkeiten &kdeprint; seinen Benutzern bietet...

Die einfach zu benutzende Schnittstelle von &kdeprint; zu den unterstützten Drucksystemen beseitigt natürlich nicht die traditionellen Schwächen mancher dieser Systeme. Es beseitigt aber immerhin manche störenden Ecken und Kanten. Verschiedene Benutzer können verschiedene Drucksysteme auf derselben Maschine benutzen. Ein Benutzer hat über den Druckdialog die Möglichkeit im laufenden Betrieb das Drucksystem für den nächsten Druckauftrag zu wechseln (Dies ist nur möglich, wenn die verschiedenen Drucksysteme so installiert sind, dass die sich nicht gegenseitig in die Quere kommen).

Die meisten &UNIX;-Anwender sind das Drucken über LPD gewohnt. LPD stellt nur einfache, unflexible Druckfunktionen zur Verfügung und lässt viele Funktionen von moderneren Drucksystemen wie &CUPS; vermissen. Trotz der Möglichkeit über eine beliebige Distanz zu drucken (&zb; TCP/IP basiert), fehlen LPD Funktionen wie Zweiwege-Kommunikation, Authentifizierung, Zugriffskontrolle und Verschlüsselung.

&kdeprint; kann &CUPS; benutzen um folgendes zusätzlichen Funktionen anzubieten:

- Abfrage des LAN nach verfügbaren Druckern,

- Einfache oder zusammenfassende Authentifizierung und Authentifizierung mittels Zertifikaten,

- Zugriffskontrolle auf der Basis von IP-Adressen, Netzadressen, Netzmasken, Hostnamen und Domainnamen,

- sowie 128-Bit-TLS- oder SSL3-Verschlüsselung von Druckdaten, um das Abhören von Daten zu verhindern oder es zumindest viel schwerer zu machen.

Dies macht &kdeprint; zu einer viel robusteren und zuverlässigeren Lösung als die Benutzung des alten LPD.

### Wie Sie auf &kdeprint; zugreifen können

Sie können auf vier verschiedenen Wegen auf &kdeprint; — oder Teile davon — zugreifen:

- Durch Ihre Anwendungen, wenn Sie den Druckdialog aufrufen (entweder durch Datei Drucken... oder durch den Knopf mit dem kleinen Druckersymbol). Dies öffnet den Druckdialog.

- Durch den eingegebenen Befehl `kprinter` in einem Terminal, in einem &konsole;-Fenster oder durch das Fenster Befehl ausführen.... Dies öffnet den Druckdialog.

- Durch den Knopf, der das &kcontrolcenter; aufruft. Danach finden Sie die Verwaltungs-Einstellungen von &kdeprint; unter SystemDruckerverwaltung.

- Durch die Befehlszeile (&konsole; oder mini-CLI). Geben Sie ``kcmshell` `printmgr`` ein, um den administrativen Teil von &kdeprint; zu öffnen.

&kprinter;-Dialog, der vom Fenster Befehl ausführen... aus gestartet wird
Start des &kprinter;-Dialogs, aus dem Fenster Befehl ausführen....

Start des &kprinter;-Dialogs, aus dem Fenster Befehl ausführen....

Hier sehen Sie eine &kivio;-Zeichnung des &kprinter;-Dialogs, wie dieser nach dem Start erscheint. Sie können neue Drucker immer hinzufügen, indem Sie auf den kleinen Assistenten-Knopf klicken (gelb/rot in der Zeichnung).

&kprinter;-Dialog gestartet (&kivio;-Zeichnung)
&kprinter;-Dialog gestartet (&kivio;-Zeichnung)

&kprinter;-Dialog (&kivio;-Zeichnung)