# Zagadnienia techniczne

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

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

## Krótkie omówienie programu &tdeprint;

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

### Czym nie jest

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

### Czym jest

&tdeprint; 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. &tdeprint; 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.

&tdeprint; 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 &tdeprint;, zamiast starego systemu &Qt;. Użytkownicy z łatwością mogą wybierać i konfigurować systemy drukowania.

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.

## &tdeprint; - inne sposoby użytkowania dla różnych ludzi

&tdeprint; ma różne oblicza dla różnych ludzi.

### Co użytkownicy i administratorzy mogą zrobić z &tdeprint;

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

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.

### Co mogą z nim zrobić deweloperzy &kde;...

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ę `QPrinter`, funkcję biblioteczną pakietu narzędziowego &Qt;. Klasa `QPrinter` opierała się na Line Printer Daemon (LPD). Biblioteka &tdeprint; opiera się na nowocześniejszym Wspólnym Systemie Drukowania Uniksa (Common &UNIX; Printing System - &CUPS;), ale jednocześnie jest kompatybilna z LPD i innymi, mniej zaawansowanymi systemami drukowania. Pozostawia również otwarte drzwi dla każdego możliwego usprawnienia.

Aby programista &kde; mógł użyć nowej klasy &tdeprint; w swoich programach, musi on dokonać tylko minimalnych zmian w ich kodzie: każde wywołanie `QPrinter`, powinien tylko zmienić na `KPrinter`. 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 &tdeprint;.

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

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 &tdeprint;. 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 `root`) 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.

Przykład możliwości programu &kcron;. Narzędzie &kcron;: mała próbka systemowych zadań wykonywanych okresowo, tak jak to pokazano w graficznym interfejsie dla &kde;. Programiści &kcron; pozwalają ci wybrać, czy drukować całą tabelę zadań, czy tylko zaznaczoną część.

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

Dodatek &kcron; do okna &tdeprint;. Dodatek &kcron; do okna &tdeprint;.

Dodatek &kcron; do okna &tdeprint;.

### Co &tdeprint; oferuje każdemu...

Łatwy w użyciu interfejs programu &tdeprint; 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ć w locie, 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 wchodzą sobie w drogę.)

Większość użytkowników &UNIX;a jest przyzwyczajonych do drukowania poprzez LPD. LPD 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), LPD brakuje dwukierunkowej komunikacji, uwierzytelnienia, kontroli dostępu i obsługi szyfrowania.

&tdeprint; może używać systemu &CUPS; do obsługi:

- odpytywania sieci LAN o dostępne drukarki,

- uwierzytelniania podstawowego, skrótowego i przez certyfikat,

- kontroli dostępu, opierającej sie na adresie IP, adresach sieciowych, masce sieci, nazwie serwera i domeny,

- 128-bitowego TLS lub SSL3 szyfrowania drukowanych danych, aby uniknąć podsłuchiwania, lub aby uczynić je przynajmniej trudniejszym.

To powoduje, że program &tdeprint; jest o wiele bardziej solidnym i niezawodnym rozwiązaniem, niż szacowny LPD.

### Jak dostać się do &tdeprint;

Możesz dostać się do &tdeprint;, lub jego części, na cztery różne sposoby:

- poprzez program: jeśli wywołasz okno drukowania (obojętnie Plik Drukuj...), lub klikniesz na przycisk ikony drukarki, otworzysz okno drukowania.

- przez wpisanie polecenia `kprinter` w oknie terminala lub konsoli, lub w oknie mini-CLI Uruchom...; tak również otworzysz okno drukowania.

- poprzez przycisk , uruchamiający &kcontrol;; przejdź następnie do System Menedżer drukowania. Tak uruchomisz administratora programu &tdeprint;, który jest częścią &kcontrolcenter; i również pozwala na przełączanie miedzy różnymi częściami &kcontrol;

- z wiersza poleceń (konsoli lub mini okna poleceń) wpisz ``tdecmshell` `printmgr``. To otworzy część &kcontrolcenter-dopelniacz;, należącą do programu &tdeprint;, abyś mógł zmienić ustawienia

Okno &kprinter; uruchamiane z okna Wykonaj polecenie... Uruchamianie okna &kprinter; z okna Wykonaj polecenie....

Uruchamianie &kprinter; z okna Uruchom....

To jest grafika &kivio; okna programu &kprinter;, które pokazuje się po uruchomieniu... Zawsze możesz dodać nową drukarkę, klikając na ikonę Asystenta (zaznaczoną na grafice kolorem czerwonym i żółtym).

otwarte okno programu &kprinter; (grafika &kivio;) otwarte okno programu &kprinter; (grafika &kivio;)

otwarte okno programu &kprinter; (grafika &kivio;)