# Technický prehľad

Táto kapitola sa snaží poskytnúť technický prehľad o &kdeprint;, ktorý by mali pochopiť aj neprogramátori.

&kdeprint; je nový a revolučný nástroj s jednoduchým prístupom k tlačovým službám pre používateľov aj vývojárov &kde;.

## Krátky popis &kdeprint;

Funkcie &kdeprint; sú dosiahnutelné rôznymi spôsobmi: pomocou Správcu tlače v &kcontrol;, príkazom `kprinter` alebo cez dialóg, ktorý sa zobrazí pri požiadavke na tlač.

### Čo to nie je

&kdeprint; nie je náhrada za tlačový subsystém. &kdeprint; preto neposkytuje fronty a nerobí základné spracovanie &PostScript; ani iných tlačových dát.

### Čo to je

&kdeprint; je vrstva medzi frontami (a spracovaním dát) a aplikáciami, ktoré chcú tlačiť. &kdeprint; poskytuje rozhranie pre používateľov aj vývojárov &kde; pre prístup k podporovaným tlačovým subsystémom. Zároveň je ho možné výborne nastaviť.

&kdeprint; je ľahko používa pre koncových používateľov aj pre vývojárov. Vývojári môže svoje aplikácie s minimálnymi zmenami portovať zo starého tlačového systému &Qt; do &kdeprint;. Používatelia si môžu jednoducho vybrať a nastaviť vlastný tlačový subsystém.

Pre nových používateľov &kde;: &Qt; je základná knižnica a grafické prvky, ktoré sa používajú vo všetkých aplikáciách &kde;. &Qt; vyvíja nórska softvérová firma TrollTech.

## &kdeprint; -- Rôzne použitie pre rôznych ľudí

&kdeprint; sa k rôznym ľuďom tvári rôzne.

### Čo poskytuje &kdeprint; používateľom a administrátorom

&kdeprint; umožňuje v závislosti na právach prístup k tlačovým subsystémom (&CUPS;, LPD, RLPR, LPRng, PDQ apod) pomocou grafického rozhrania (&GUI;). S jeho pomocou môžu používatelia tlačiť, spravovať úlohy, tlačiarne a tlačového démona, a to všetko veľmi komfortne.

Skúsení používatelia ocenia možnosť pripojiť ľubovoľný filter pre tlačové dáta medzi výstup aplikácie a vstup do tlačového subsystému. Niektoré príklady nájdete už v základnej verzii &kdeprint;.

### Čo poskytuje &kdeprint; vývojárom...

Ak vývojár &kde; potrebuje, aby jeho aplikácia podporovala tlač, nemusí písať tlačové funkcie od začiatku. Pred &kde; 2.2 bola táto služba poskytovaná triedou `QPrinter` z knižnice &Qt;. `QPrinter` používal starý Line Printer Deamon (LPD). Knižnica &kdeprint; je založená na modernom Common &UNIX; Printing System (&CUPS;) aj keď poskytuje kompatibilitu s LPD a ostatnými tlačovými systémami. Necháva k dispozícii aj možnosť pre ďalší vývoj.

Aby mohli vývojári &kde; používať novú triedu &kdeprint;, stačia na to minimálne zmeny: za každé volanie `QPrinter` sa použije volanie `KPrinter`. Nahradí sajedno písmeno na pár miestach a je to. Aplikácia môže začať využívať všetky funkcie novej knižnice &kdeprint;.

Ambicióznejší programátori alebo tí, ktorí potrebujú špeciálne funkcie môžu urobiť ešte viac: prispôsobiť tlačový dialóg pridaním ďalšej záložky, kde budú ich rozšírenia štandardného &kdeprint;.

Táto posledná funkcia nie je zatiaľ v &kde; veľmi používaná, pretože vývojári zatiaľ moc nevedia o sile &kdeprint;. To sa ale asi v budúcnosti zmení. Jedným príkladom, ktorý som objavil, je &kcron;. Umožňuje upraviť vašu tabuľku crontab pomocou &GUI;. Má implementovanú funkciu, ktorou môžete vy (alebo root) vybrať, či chcete vytlačiť tabuľku celú (pre všetkých používateľov), alebo iba označenú časť. Je ukázaná na nasledujúcich obrázkoch.

Tento obrázok ukazuje príklad nástroja &kcron;. Nástroj &kcron;: malý príklad systémových úloh cron zobrazených pomocou &kde; &GUI;. Vývojári &kcron; umožnili výber, či chcete vytlačiť celú tabuľku, alebo iba označenú časť.

Dialóg pre nastavenie tlačových možností &kcron;: pridaná záložka Možnosti Cron je z aplikácie &kcron; a nie z &kdeprint;. Je to špeciálne rozšírenie pridané z &kcron; pre tlač. Aj ostatní vývojári môžu imlementovať takéto rozšírenia.

&kcron; prídavok do dialógu &kdeprint;.
&kcron; prídavok do dialógu &kdeprint;.

&kcron; prídavok do dialógu &kdeprint;.

### Čo &kdeprint; ponúka všetkým...

&kdeprint; je ľahko ovládateľné rozhranie pre všetky podporované tlačové subsystémy, aj keď neodstraňuje ich základné nedostatky. Ale aspoň zahladzuje niektoré problémy. Rôzny používatelia môžu používať rôzne tlačové subsystémy. Môžu ich dokonca prepínať za behu z tlačového dialógu pre jednotlivé úlohy. (Samozrejme musia byť rôzne subsystémy nainštalované a nesmú si prekážať.)

Väčšina používateľov &UNIX; je zvyknutá na LPD. LPD poskytuje iba základné tlačové funkcie, nie je flexibilný a nepodporuje množstvo volieb, ktoré poskytujú moderné tlačové systémy, ako je napríklad &CUPS;. Aj keď dokáže tlačiť vzdialene (ako každý protokol založený na TCP/IP), LPD nepodporuje obojsmernú komunikáciu, prihlásenie, ovládanie prístupu ani šifrovanie.

&kdeprint; dokáže s &CUPS; podporovať:

- hľadať dostupné tlačiarne vo vašej LAN,

- základné, digest a certifikátové prihlásenie,

- ovládanie prístupu na základe adries IP, sieťových adries, sieťových masiek, mien hostiteľov a domén

- šifrovanie tlačových dát pomocou 128-bitového TLS alebo SSL3 a tak ochrániť dáta.

Preto je &kdeprint; oveľa robustnejšie a bezpečnejšie riešenie ako starý LPD.

### Ako používať &kdeprint;

Ku &kdeprint; máte prístup týmito rôznymi spôsobmi:

- pomocou aplikácií: ak zavoláte tlačový dialóg (pomocou Súbor Tlačiť...) alebo tlačidlom s malou tlačiarňou.

- pomocou príkazu `kprinter` v terminal alebo okne &konsole; alebo z dialógu Vykonať príkaz....

- pomocou tlačidla , ktoré spustí &kcontrol; a použitím SystémSprávca tlače. Tým sa otvorí administrátoská časť &kdeprint; v &kcontrolcenter; a umožňuje prepínať do iných častí &kcontrol;.

- z príkazového riadku (&konsole; alebo dialógu Vykonať príkaz...) príkazom ``kcmshell` `printmgr``. Tým sa spustí iba časť &kdeprint; v &kcontrol;.

Dialóg &kprinter; spustený z okna Vykonať príkaz...
Spustenie dialógu &kprinter; z okna Vykonať príkaz...

Spustenie dialógu &kprinter; z okna Vykonať príkaz...

Toto je kresba z &kivio; v dialógu &kprinter;. Vždy môžete kliknutím na malé tlačidlo Sprievodca pridať novú tlačiareň (na obrázku označený červenou/žltou farbou).

Spustený dialóg &kprinter; (náhľad kresby &kivio;)
Spustený dialóg &kprinter; (náhľad kresby &kivio;)

Spustený dialóg &kprinter; (náhľad kresby &kivio;)