<chapter id="technical-overview">
<title
>Zagadnienia techniczne</title>

<para
>Celem tego rozdziału jest omówienie zagadnień technicznych programu &kdeprint; w taki sposób, by rozumieli go nie tylko programiści.</para>

<para
>&kdeprint; jest nowym, rewolucyjnym narzędziem, dającym łatwy dostęp do usług drukowania, zarówno użytkownikom, jak i deweloperom &kde;.</para>

<sect1 id="brief-description">
<title
>Krótkie omówienie programu &kdeprint;</title>

<para
>Możesz dostać się do funkcji programu &kdeprint; na różne sposoby: przez Menedżera drukowania w &kcontrol;, przez komendę <command
>kprinter</command
>, lub dzięki oknu, które pojawia się, kiedy chcesz drukować.</para>

<sect2 id="what-kdeprint-is-not">
<title
>Czym <emphasis
>nie</emphasis
> jest</title>

<para
>&kdeprint; <emphasis
>nie</emphasis
> zastępuje systemu drukowania, a więc <emphasis
>nie</emphasis
> zapewnia obsługi kolejki, ani <emphasis
>nie</emphasis
> dokonuje przetwarzania &PostScript;ów, ani żadnych innych drukowanych danych.</para>

</sect2>

<sect2 id="what-kde-print-is">
<title
>Czym <emphasis
>jest</emphasis
></title>
<para
>&kdeprint; jest pośrednią warstwą, między ustawiającym w kolejce i przekazującym dane systemem drukowania (w zależności, jaki jest zainstalowany), a programem, który dokonuje drukowania. &kdeprint; dostarcza wspólnego dla użytkowników i programistów &kde; interfejsu do obsługi różnych systemów drukowania. Jest on łatwy do konfiguracji i dostosowywania do potrzeb użytkownika.</para>

<para
>&kdeprint; jest łatwy w obsłudze zarówno dla programistów, jak i niezaawansowanych użytkowników. Deweloperzy mogą - przy minimalnych zmianach - dołączać swoje programy i korzystać z &kdeprint;, zamiast starego <quote
>systemu</quote
> &Qt;. Użytkownicy z łatwością mogą wybierać i konfigurować systemy drukowania.</para>

<para
>Dla wiadomości nowych użytkowników &kde;: &Qt; to podstawowa biblioteka i graficzny pakiet narzędziowy, używany przez wszystkie programy &kde;; &Qt; jest rozwijany przez norweską firmę TrollTech.</para>

</sect2>

</sect1>

<sect1 id="different-users">
<title
>&kdeprint; - inne sposoby użytkowania dla różnych ludzi</title>

<para
>&kdeprint; ma różne oblicza dla różnych ludzi.</para>

<sect2 id="what-users-can-do">
<title
>Co użytkownicy i administratorzy mogą zrobić z &kdeprint;</title>

<para
>&kdeprint; zezwala użytkownikom i/lub administratorom, w zależności od ich uprawnień na dostęp do systemów drukowania (&CUPS;, <acronym
>LPD</acronym
>, <acronym
>RLPR</acronym
>, <application
>LPRng</application
>, <application
>PDQ</application
> itd.) poprzez graficzny interfejs użytkownika dla &kde;. Za pomocą &kdeprint;, mogą oni drukować, zarządzać zadaniami, drukarkami i demonem drukarki, a wszystko to w wygodny sposób.</para>

<para
>Doświadczonym użytkownikom spodoba się możliwość zainstalowania w wybranym systemie drukowania, każdego działającego filtra dla drukowanych danych, pomiędzy danymi wyjściowymi, a wejściowymi.</para>

</sect2>


<sect2 id="what-developers-can-do">
<title
>Co mogą z nim zrobić deweloperzy &kde;...</title>

<para
>Jeśli programista &kde; potrzebuje dostępu drukowania dla swojego programu, nie koduje on funkcji drukowania od początku. Przed &kde; 2.2, usługa ta była oferowana przez klasę <classname
>QPrinter</classname
>, funkcję biblioteczną pakietu narzędziowego &Qt;. Klasa <classname
>QPrinter</classname
> opierała się na <quote
>Line Printer Daemon</quote
> (<acronym
>LPD</acronym
>). Biblioteka &kdeprint; opiera się na nowocześniejszym Wspólnym Systemie Drukowania Uniksa (Common &UNIX; Printing System - &CUPS;), ale jednocześnie jest kompatybilna z <acronym
>LPD</acronym
> i innymi, mniej zaawansowanymi systemami drukowania. Pozostawia również <quote
>otwarte drzwi</quote
> dla każdego możliwego usprawnienia.</para>

<para
>Aby programista &kde; mógł użyć nowej klasy &kdeprint; w swoich programach, musi on dokonać tylko minimalnych zmian w ich kodzie: każde wywołanie <classname
>QPrinter</classname
>, powinien tylko zmienić na <classname
>KPrinter</classname
>. Wystarczy zamiana jednej (!) litery w kilku miejscach i wszystko jest gotowe; ich programy mogą od tej pory korzystać z wszystkich właściwości nowej biblioteki &kdeprint;.</para>

<para
>Bardziej ambitni deweloperzy, albo mający specjalne wymagania, mogą zrobić więcej: prócz bogatej możliwości obsługi programu &kdeprint;, mogą oni jeszcze lepiej dostosować okno drukowania swojego programu do własnych potrzeb, przez stworzenie dodatkowej <quote
>zakładki</quote
>. Takie dodatkowe rozszerzenie standardowego &kdeprint; będzie znakomicie działać.</para>


<para
>Ostatnia ze wspomnianych opcji nie była dotychczas szeroko stosowana w ramach &kde;. Najprawdopodobniej dlatego, że użytkownicy nie byli w pełni świadomi możliwości &kdeprint;. W bliskiej przyszłości możesz spodziewać się większej ilości podobnych usprawnień. Jednym z przykładów niech będzie program &kcron;. Pozwala ona na edycję pliku crontab poprzez &GUI;. Została dołączona właściwość drukowania, która pozwala Tobie (lub <systemitem class="username"
>root</systemitem
>) dokonać wyboru, czy drukowany ma być cały plik crontab (dla wszystkich użytkowników), czy tylko jego zaznaczona część. Możesz zobaczyć rezultat na zrzutach ekranu poniżej.</para>

<para
>Przykład możliwości programu &kcron;. <screenshot>
<screeninfo
>Narzędzie &kcron;: mała próbka systemowych zadań wykonywanych okresowo, tak jak to pokazano w graficznym interfejsie dla &kde;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kcron_to_be_printed.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Programiści &kcron; pozwalają ci wybrać, czy drukować całą tabelę zadań, czy tylko zaznaczoną część.</phrase
></textobject>
</mediaobject>
</screenshot>
</para>

<para
>Okno konfiguracji opcji drukowania programu &kcron;: dodatkowa zakładka, zatytułowana <guilabel
>Opcje cron</guilabel
> pochodzi z programu &kcron;, a nie &kdeprint;; jest to specjalne rozszerzenie, dodane przez deweloperów programu &kcron;, w celu ulepszenia opcji drukowania, nie pochodzące z &kdeprint;, ale wykonywane przez ten program. Programiści innych programów mogą dodawać różnorodne opcje, jeśli jest taka potrzeba.</para>


<screenshot>
<screeninfo
>Dodatek &kcron; do okna &kdeprint;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_with_kcron_developer_special.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Dodatek &kcron; do okna &kdeprint;.</phrase
></textobject>
<caption>
<para
>Dodatek &kcron; do okna &kdeprint;.</para>
</caption>
</mediaobject>
</screenshot>

</sect2>

<sect2>
<title
>Co &kdeprint; oferuje każdemu...</title>

<para
>Łatwy w użyciu interfejs programu &kdeprint; dla każdego obsługiwanego systemu drukowania, nie likwiduje oczywiście podstawowych słabych stron niektórych z tych systemów. Ale wygładza niektóre ostre krawędzie.... Różni użytkownicy mogą używać różnych systemów drukowania w tym samym oknie. Użytkownik może nawet przełączać <quote
>w locie</quote
>, w oknie drukowania, na inny system drukowania, który ma być zastosowany do następnego zadania. (Jest to możliwe, jeśli zainstalowane są różne systemy w taki sposób, że nie <quote
>wchodzą sobie w drogę</quote
>.)</para>

<para
>Większość użytkowników &UNIX;a jest przyzwyczajonych do drukowania poprzez <acronym
>LPD</acronym
>. <acronym
>LPD</acronym
> obsługuje tylko podstawowe funkcje drukowania, jest bardzo mało elastyczny i nie wykorzystuje wielu opcji nowocześniejszych systemów drukowania, jak &CUPS;. Chociaż może pracować zdalnie na każdą odległość (jak każdy protokół bazujący na TCP/IP), <acronym
>LPD</acronym
> brakuje dwukierunkowej komunikacji, uwierzytelnienia, kontroli dostępu i obsługi szyfrowania.</para>

<para
>&kdeprint; może używać systemu &CUPS; do obsługi:</para>

<itemizedlist>
<listitem>
<para
>odpytywania sieci <acronym
>LAN</acronym
> o dostępne drukarki,</para>
</listitem>
<listitem>
<para
>uwierzytelniania podstawowego, skrótowego i przez certyfikat,</para>
</listitem>
<listitem>
<para
>kontroli dostępu, opierającej sie na adresie <acronym
>IP</acronym
>, adresach sieciowych, masce sieci, nazwie serwera i domeny,</para>
</listitem>
<listitem>
<para
>128-bitowego TLS lub SSL3 szyfrowania drukowanych danych, aby uniknąć podsłuchiwania, lub aby uczynić je przynajmniej trudniejszym.</para>
</listitem>
</itemizedlist>

<para
>To powoduje, że program &kdeprint; jest o wiele bardziej solidnym i niezawodnym rozwiązaniem, niż szacowny <acronym
>LPD</acronym
>.</para>

</sect2>
<sect2>
<title
>Jak dostać się do &kdeprint; </title>

<para
>Możesz dostać się do &kdeprint;, lub jego części, na cztery różne sposoby:</para>

<itemizedlist>
<listitem
><para
>poprzez program: jeśli wywołasz okno drukowania (obojętnie <menuchoice
><guilabel
>Plik</guilabel
> <guilabel
>Drukuj...</guilabel
></menuchoice
>), lub klikniesz na przycisk ikony drukarki, otworzysz okno drukowania.</para
></listitem>

<listitem
><para
>przez wpisanie polecenia <command
>kprinter</command
> w oknie <application
>terminala</application
> lub konsoli, lub w oknie mini-<acronym
>CLI</acronym
> <guilabel
>Uruchom...</guilabel
>; tak również otworzysz okno drukowania.</para
></listitem>

<listitem
><para
>poprzez przycisk <inlinemediaobject
><imageobject
> <imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject
> </inlinemediaobject
>, uruchamiający &kcontrol;; przejdź następnie do <menuchoice
><guilabel
>System</guilabel
><guilabel
>Menedżer drukowania</guilabel
></menuchoice
>. Tak uruchomisz administratora programu &kdeprint;, który jest częścią &kcontrolcenter; i również pozwala na przełączanie miedzy różnymi częściami &kcontrol;</para
></listitem>

<listitem
><para
>z wiersza poleceń (konsoli lub mini okna poleceń) wpisz <userinput
> <command
>kcmshell</command
> <option
>printmgr</option
></userinput
>. To otworzy część &kcontrolcenter-dopelniacz;, należącą do programu &kdeprint;, abyś mógł zmienić ustawienia </para
></listitem>
</itemizedlist>
<screenshot>
<screeninfo
>Okno &kprinter; uruchamiane z okna <guilabel
>Wykonaj polecenie...</guilabel
></screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_called_from_run_command.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Uruchamianie okna &kprinter; z okna <guilabel
>Wykonaj polecenie...</guilabel
>.</phrase
></textobject>
<caption
><para
>Uruchamianie &kprinter; z okna <guilabel
>Uruchom...</guilabel
>.</para
></caption>
</mediaobject>
</screenshot>

<!-- TODO: This one ought to be a screenshot LW. --> <para
>To jest grafika &kivio; okna programu &kprinter;, które pokazuje się po uruchomieniu... Zawsze możesz dodać nową drukarkę, klikając na ikonę <guiicon
>Asystenta</guiicon
> (zaznaczoną na grafice kolorem czerwonym i żółtym).</para>
  
<screenshot>
<screeninfo
>otwarte okno programu &kprinter; (grafika &kivio;) </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter-kivio.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>otwarte okno programu &kprinter; (grafika &kivio;)</phrase
></textobject>
<caption
><para
>otwarte okno programu &kprinter; (grafika &kivio;)</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:
-->
