<chapter id="technical-overview">
<title
>Technische Übersicht</title>

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

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

<sect1 id="brief-description">
<title
>Eine kurze Beschreibung von &kdeprint;</title>

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

<sect2 id="what-kdeprint-is-not">
<title
>Was dieses Programm <emphasis
>nicht</emphasis
> ist.</title>

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

</sect2>

<sect2 id="what-kde-print-is">
<title
>Was dieses Programm <emphasis
>ist</emphasis
></title>
<para
>&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.</para>

<para
>&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.</para>

<para
>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.</para>

</sect2>

</sect1>

<sect1 id="different-users">
<title
>&kdeprint;: Eine Vielzahl von Möglichkeiten für eine Vielzahl von Personen</title>

<para
>&kdeprint; bietet unterschiedliche Personen unterschiedliche Möglichkeiten.</para>

<sect2 id="what-users-can-do">
<title
>Was Benutzer und Systemverwalter mit &kdeprint; machen können.</title>

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

<para
>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.</para>

</sect2>


<sect2 id="what-developers-can-do">
<title
>Was &kde;-Entwickler mit &kdeprint; machen können...</title>

<para
>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 <classname
>QPrinter</classname
>-Klasse der &Qt;-Bibliothek zur Verfügung gestellt. Die <classname
>QPrinter</classname
>-Klasse basierte auf dem in die Tage gekommenen <quote
>Line Printer Daemon</quote
> (<acronym
>LPD</acronym
>). Die &kdeprint;-Bibliothek basiert dagegen auf dem moderneren Common &UNIX; Printing System (&CUPS;). Trotzdem ist &kdeprint; abwärtskompatibel zu <acronym
>LPD</acronym
> und anderen weniger entwickelten Drucksystemen und bietet genug Möglichkeiten für neue Entwicklungen, die erscheinen könnten.</para>

<para
>&kde;-Entwickler müssen den Quelltext in ihren Anwendungen nur minimal verändern, um die neue &kdeprint;-Klasse zu benutzen: Jeden Aufruf von <classname
>QPrinter</classname
> müssen sie einfach durch <classname
>KPrinter</classname
> 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.</para>

<para
>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 <quote
>Karteikarten</quote
> erscheinen lassen, wo ihnen die Erweiterung des Standard-&kdeprint; sinnvoll erscheint.</para>


<para
>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 <systemitem class="username"
>root</systemitem
>) 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.</para>

<para
>Dieses Bildschirmphoto zeigt ein Beispiel des &kcron;-Dienstprogramms. <screenshot
> <screeninfo
>&kcron;-Dienstprogramm: Ein kleines Beispiel eines Systemwartungsauftrags, wie er auf der Benutzeroberfläche von &kde; dargestellt wird.</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="kcron_to_be_printed.png" format="PNG"/></imageobject
> <textobject
> <phrase
>Die &kcron;-Entwickler lassen Sie auswählen, ob Sie die ganze Tabelle oder nur den markierten Teil drucken wollen.</phrase
></textobject
> </mediaobject
> </screenshot
> </para>

<para
>Der Dialog, um die Druckeinstellungen von &kcron; zu verändern: Die zusätzliche Karteikarte <guilabel
>Cron Optionen</guilabel
> 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.</para>


<screenshot
> <screeninfo
>Die Zusätze von &kcron; zum &kdeprint;-Dialog.</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="kprinter_with_kcron_developer_special.png" format="PNG"/></imageobject
> <textobject
> <phrase
>Die Zusätze von &kcron; zum &kdeprint;-Dialog.</phrase
></textobject
> <caption
> <para
>Die Zusätze von &kcron; zum &kdeprint;-Dialog.</para
> </caption
> </mediaobject
> </screenshot>

</sect2>

<sect2>
<title
>Welche Möglichkeiten &kdeprint; seinen Benutzern bietet...</title>

<para
>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).</para>

<para
>Die meisten &UNIX;-Anwender sind das Drucken über <acronym
>LPD</acronym
> gewohnt. <acronym
>LPD</acronym
> 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 <acronym
>LPD</acronym
> Funktionen wie Zweiwege-Kommunikation, Authentifizierung, Zugriffskontrolle und Verschlüsselung.</para>

<para
>&kdeprint; kann &CUPS; benutzen um folgendes zusätzlichen Funktionen anzubieten:</para>

<itemizedlist
> <listitem
> <para
>Abfrage des <acronym
>LAN</acronym
> nach verfügbaren Druckern,</para
> </listitem
> <listitem
> <para
>Einfache oder zusammenfassende Authentifizierung und Authentifizierung mittels Zertifikaten,</para
> </listitem
> <listitem
> <para
>Zugriffskontrolle auf der Basis von <acronym
>IP</acronym
>-Adressen, Netzadressen, Netzmasken, Hostnamen und Domainnamen,</para
> </listitem
> <listitem
> <para
>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.</para
> </listitem
> </itemizedlist>

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

</sect2>
<sect2>
<title
>Wie Sie auf &kdeprint; zugreifen können </title>

<para
>Sie können auf vier verschiedenen Wegen auf &kdeprint; &mdash; oder Teile davon &mdash; zugreifen:</para>

<itemizedlist
> <listitem
><para
>Durch Ihre Anwendungen, wenn Sie den Druckdialog aufrufen (entweder durch <menuchoice
><guilabel
>Datei</guilabel
> <guilabel
>Drucken...</guilabel
></menuchoice
> oder durch den Knopf mit dem kleinen Druckersymbol). Dies öffnet den Druckdialog.</para
></listitem
> <listitem
><para
>Durch den eingegebenen Befehl <command
>kprinter</command
> in einem <application
>Terminal</application
>, in einem &konsole;-Fenster oder durch das Fenster <guilabel
>Befehl ausführen...</guilabel
>. Dies öffnet den Druckdialog.</para
></listitem
> <listitem
><para
>Durch den <inlinemediaobject
><imageobject
> <imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject
> </inlinemediaobject
> Knopf, der das &kcontrolcenter; aufruft. Danach finden Sie die Verwaltungs-Einstellungen von &kdeprint; unter <menuchoice
><guilabel
>System</guilabel
><guilabel
>Druckerverwaltung</guilabel
></menuchoice
>.</para
></listitem
> <listitem
><para
>Durch die Befehlszeile (&konsole; oder mini-<acronym
>CLI</acronym
>). Geben Sie <userinput
> <command
>kcmshell</command
> <option
>printmgr</option
></userinput
> ein, um den administrativen Teil von &kdeprint; zu öffnen. </para
></listitem
> </itemizedlist>
<screenshot
> <screeninfo
>&kprinter;-Dialog, der vom Fenster <guilabel
>Befehl ausführen...</guilabel
> aus gestartet wird</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="kprinter_called_from_run_command.png" format="PNG"/></imageobject
> <textobject
> <phrase
>Start des &kprinter;-Dialogs, aus dem Fenster <guilabel
>Befehl ausführen...</guilabel
>.</phrase
></textobject
> <caption
><para
>Start des &kprinter;-Dialogs, aus dem Fenster <guilabel
>Befehl ausführen...</guilabel
>.</para
></caption
> </mediaobject
> </screenshot>

<!-- TODO: This one ought to be a screenshot LW. --> <para
>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 <guiicon
>Assistenten</guiicon
>-Knopf klicken (gelb/rot in der Zeichnung).</para>
  
<screenshot
> <screeninfo
>&kprinter;-Dialog gestartet (&kivio;-Zeichnung) </screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="kprinter-kivio.png" format="PNG"/></imageobject
> <textobject
> <phrase
>&kprinter;-Dialog gestartet (&kivio;-Zeichnung)</phrase
></textobject
> <caption
><para
>&kprinter;-Dialog (&kivio;-Zeichnung)</para
></caption
> </mediaobject
> </screenshot>

</sect2>

</sect1>

</chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:"index.docbook" "book"
End:
-->

