# Technický přehled

Tato kapitola se snaží poskytnout technický přehled o &kdeprint;, který by měli pochopit i neprogramátoři.

&kdeprint; je nový a revoluční nástroj s jednoduchým přístupem k tiskovým službám pro uživatele &kde; i vývojáře &kde;.

## Krátký popis &kdeprint;

Funkce &kdeprint; jsou dosažitelné různými způsoby: pomocí Správce tisku v &kcontrol;, příkazem `kprinter` nebo přes dialog, který se zobrazí při požadavku na tisk.

### Co to není

&kdeprint; není náhrada za tiskový subsystém. &kdeprint; proto neposkytuje fronty a nedělá základní zpracování &PostScript; ani jiných tiskových dat.

### Co to je

&kdeprint; je vrstva mezi frontami (a zpracováním dat) a aplikacemi, které chtějí tisknout. &kdeprint; poskytuje rozhraní pro uživatele &kde; i vývojáře &kde; pro přístup k podporovaným tiskovým subsystémům. Zároveň je ho možné výborně nastavit.

&kdeprint; se lehce používá jak koncovým uživatelům &kde; tak i vývojářům. Vývojáři mohou svoje aplikace s minimálními změnami portovat ze starého tiskového systému &Qt; do &kdeprint;. Uživatelé si mohou jednoduše vybrat a nastavit vlastní tiskový subsystém.

Pro nové uživatele &kde;: &Qt; je základní knihovna a grafické prvky, která se používá ve všech aplikacích &kde;. &Qt; vyvíjí norská softwarová firma TrollTech.

## &kdeprint; -- Různé použití pro různé lidi

&kdeprint; se k různým lidem tváří různě.

### Co poskytuje &kdeprint; uživatelům a administrátorům

&kdeprint; umožňuje uživatelům a/nebo administrátorům v závislosti na právech přístup k tiskovým subsystémům (&CUPS;, LPD, RLPR, LPRng, PDQ apod) pomocí grafického rozhraní (&GUI;). S jeho pomocí mohou uživatelé tisknout, spravovat úlohy, tiskárny a tiskového démona, a to všechno velmi komfortně.

Zkušení uživatelé ocení možnost připojit libovolný filtr pro tisková data mezi výstup aplikace a vstup do tiskového subsystému. Některé příklady najdete už v základní verzi &kdeprint;.

### Co poskytuje &kdeprint; vývojářům...

Pokud vývojář &kde; potřebuje, aby jeho aplikace podporovala tisk, nemusí psát tiskové funkce od začátku. Před &kde; 2.2 byla tato služba poskytovaná třídou `QPrinter` z knihovny &Qt;. `QPrinter` používal starý Line Printer Deamon (LPD). Knihovna &kdeprint; je založena na moderním Common &UNIX; Printing System (&CUPS;) i když poskytuje kompatibilitu s LPD a ostatními tiskovými systémy. Nechává k dispozici i možnost pro další vývoj.

Aby mohli vývojáři &kde; používat novou třídu &kdeprint;, stačí na to minimální změny: místo každého volání `QPrinter` se použije volání `KPrinter`. Nahradí se jedno písmeno na pár místech a je to! Aplikace může začít využívat všechny funkce nové knihovny &kdeprint;.

Ambicióznější programátoři nebo ti, kteří potřebují speciální funkce mohou udělat ještě víc: přizpůsobit tiskový dialog přidáním další záložky, kde budou jejich rozšíření standardního &kdeprint;.

Tato poslední funkce není zatím v &kde; velmi používána, protože vývojáři zatím moc nevědí o síle &kdeprint;. To se ale asi v budoucnosti změní. Jedním příkladem, který jsem objevil, je &kcron;. Umožňuje upravit vaši tabulku crontab pomocí &GUI;. Má implementovanou funkci, kterou můžete vy (nebo root) vybrat, zda chcete vytisknout tabulku celou (pro všechny uživatele), nebo pouze označenou část. Je ukázána na následujících obrázcích.

Tento obrázek ukazuje příklad nástroje &kcron;. Nástroj &kcron;: malý příklad systémových úloh cron zobrazených pomocí &kde; &GUI;. Vývojáři &kcron; umožnili výběr toho, zda chcete vytisknout celou tabulku, nebo pouze označenou část.

Dialog pro nastavení tiskových možností &kcron;: přidaná záložka Možnosti Cron je z aplikace &kcron; ale není z &kdeprint;. Je to speciální rozšíření přidané z &kcron; pro tisk přes &kdeprint;. I ostatní vývojáři mohou implementovat takováto rozšíření.

&kcron; přídavek do dialogu &kdeprint;.
&kcron; přídavek do dialogu &kdeprint;.

&kcron; přídavek do dialogu &kdeprint;.

### Co &kdeprint; nabízí všem...

&kdeprint; je lehce ovladatelné rozhraní pro všechny podporované tiskové subsystémy, i když neodstraňuje jejich základní nedostatky. Ale aspoň zahlazuje některé problémy. Různí uživatelé mohou používat různé tiskové subsystémy. Mohou je dokonce pro jednotlivé úlohy přepínat za běhu z tiskového dialogu. (Samozřejmě musí být jiné subsystémy nainstalovány a nesmí si překážet.)

Většina uživatelů &UNIX; systémů je zvyklá na LPD. LPD poskytuje pouze základní tiskové funkce, není flexibilní a nepodporuje množství voleb, které poskytují moderní tiskové systémy, jako je například &CUPS;. I když dokáže tisknout vzdáleně (jako každý protokol založený na TCP/IP), LPD nepodporuje obousměrnou komunikaci, přihlášení, ovládání přístupu ani šifrování.

&kdeprint; dokáže s &CUPS; podporovat:

- hledání dostupných tiskáren ve vaší LAN,

- základní, digest a certifikátové přihlášení,

- ovládání přístupu na základě IP adres, síťových adres, síťových masek, jmen hostitelů a domén,

- šifrování tiskových dat pomocí 128-bitového TLS nebo SSL3 a tak ochránit data.

Proto je &kdeprint; daleko robustnější a bezpečnější řešení než starý LPD.

### Jak používat &kdeprint;

Ke &kdeprint; máte přístup těmito různými způsoby:

- pomocí aplikací: pokud zavoláte tiskový dialog (pomocí Soubor Tisk...) nebo tlačítkem s malou tiskárnou.

- pomocí příkazu `kprinter` v terminal nebo okně &konsole; nebo z dialogu Spustit příkaz....

- pomocí tlačítka , které spustí &kcontrol; a použitím Systém Správce tisku. Tím se otevře administrátorská část &kdeprint; v &kcontrolcenter; a umožňuje přepínat do jiných částí &kcontrol;.

- z příkazového řádku (&konsole; nebo dialogu Spustit příkaz...) příkazem ``kcmshell` `printmgr``. Tím se spustí pouze část &kdeprint; v &kcontrol;.

Dialog &kprinter; spuštěný z okna Spustit příkaz...
Spuštění dialogu &kprinter; z okna Spustit příkaz...

Spuštění dialogu &kprinter; z okna Spustit příkaz...

Toto je kresba z &kivio; v dialogu &kprinter;. Vždy můžete přidat novou tiskárnu kliknutím na malé tlačítko Průvodce (na obrázku označené červenou/žlutou barvou).

Spuštěný dialog &kprinter; (náhled kresby &kivio;)
Spuštěný dialog &kprinter; (náhled kresby &kivio;)

Spuštěný dialog &kprinter; (náhled kresby &kivio;)