<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: -->