1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
|
<chapter id="theory">
<title
>Trochu teorie: &CUPS;, <acronym
>IPP</acronym
>, &PostScript; a <application
>Ghostscript</application
></title>
<para
>Tato kapitola poskytuje všeobecný teoretický popis tisku se zaměřením na &CUPS;. Pokud tyto informace nepotřebujete, můžete ji <link linkend="getting-started"
>přeskočit</link
>. Věřím, že se k této kapitole vrátíte, protože někdy to chce trochu teorie pro řešení praktických problémů.</para>
<sect1 id="basics-of-printing">
<title
>Základy o tisku</title>
<para
>Tisk je jedna ze složitějších kapitol v technologiích <acronym
>IT</acronym
>.</para>
<para
>Kdysi dávno musel vývojář programu, který měl podporovat tisk, vyvinout svoje vlastní tiskové ovladače. To bylo dost složité, protože různé programy měli různé formáty souborů. Dokonce ani programy ze stejné oblasti, například textové procesory, nepodporovali své formáty navzájem. Takže neexistovalo žádné společné rozhraní pro tiskárny a proto programy podporovali pouze několik málo vybraných modelů.</para>
<para
>Jak se objevovali nové modely, autoři programů museli psát nové ovladače. Ani výrobci nemohli zajistit, aby jejich tiskárny byly podporované každým programem, který existoval (i když jich bylo výrazně méně než dnes).</para>
<para
>Starat se o deset aplikací a 12 tiskáren znamenalo pro správce systému, že se musí starat o 120 ovladačů. Proto se zvyšoval tlak na vývoj jednotného rozhraní mezi programy a tiskárnami.</para>
<para
>Vznik <quote
>jazyků pro popis stránky PDL</quote
>, které standardním způsobem popisovali grafickou reprezentaci čar na papíru (nebo na jiném zařízení, například monitoru, sázecím stroji apod) byla událost, která vyplnila jednu z velkých mezer. </para>
<para
>Jedním z nich byl &PostScript; od firmy Adobe. Znamenal, že se programátor aplikace mohl zaměřit na svůj program a jako výstup vygenerovat popis stránky v jazyce &PostScript;. A vývojáři tiskáren se mohli zaměřit na to, aby jejich zařízení &PostScript; podporovali.</para>
<para
>Samozřejmě se objevili další metody popisu. Nejdůležitější protivníci pro &PostScript; byli <acronym
>PCL</acronym
> (<quote
>Print Control Language</quote
> od &Hewlett-Packard;), <quote
>ESC/P</quote
> (od firmy Epson) a <acronym
>GDI</acronym
> (<quote
>Graphical Device Interface</quote
> of firmy &Microsoft;.</para>
<para
>To, že se tyto jazyky objevili, zjednodušilo život a podpořilo další rozvoj. Ale skutečnost, že stále ještě existují různé nekompatibilní a konkurující si jazyky, stále dost komplikuje život uživatelům, administrátorům, vývojářům a výrobcům.</para>
<sect2>
<title
>&PostScript; v paměti - bitmapa na papíru</title>
<para
>&PostScript; je nejčastěji používaný v profesionálním prostředí, jako je PrePress a tiskové služby. V doménách operačních systémů &UNIX; a &Linux; je &PostScript; standardem v oblasti <acronym
>PDL</acronym
>. Skoro každý program zde generuje reprezentaci stránek v &PostScript; hned po aktivování akce <quote
>Tisk</quote
>. Podívejme se na jednoduchý (ručně napsaný) příklad kódu &PostScript;. Následující výpis popisuje dvě jednoduché kresby:</para>
<example id="coded-postscript"
> <title
>Kód &PostScript;</title
> <screen
>%!PS
100 100 moveto
0 50 rlineto
50 0 rlineto
0 -50 rlineto
closepath
.7 setgray fill
% first box over; next
160 100 moveto
0 60 rlineto
45 10 rlineto
0 -40 rlineto
closepath
.2 setgray fill</screen
> </example>
<para
>Tento kód sděluje imaginárnímu &PostScript; <quote
>peru</quote
>, aby nakreslilo daný tvar a potom ho vyplnilo různými odstíny šedé. První část se dá přeložit jako <quote
>Přejdi na souřadnice (100, 100) a nakresli čáru dlouhou 50 nahoru, potom další odtud doprava, potom zase dolů a celý tvar uzavři. Teď ho vyplň 70% šedou.</quote
></para>
<example id="rendered-postscript"
> <title
>Renderovaný &PostScript;</title
> <mediaobject
> <imageobject
> <imagedata fileref="ps-boxes.png" format="PNG"/> </imageobject
> <textobject
> <phrase
><xref linkend="coded-postscript"/> příklad renderování jako obrázek.</phrase
> </textobject
> </mediaobject
> </example>
<para
>Samozřejmě, kód v jazyku &PostScript; může být daleko složitější než je tento jednoduchý příklad. Je to úplný programovací jazyk s různými operátory a funkcemi. Můžete dokonce napsat &PostScript; program, který bude počítat hodnotu Pí, zformátuje pevný disk, nebo vytvoří soubor. Hlavní síla jazyka &PostScript; je v oblasti popisu rozložení grafických objektů na stránce: dokáže je i zvětšit, převrátit, otočit, transformovat a rozdělit - všechno, co si jen dokážete na kuse papíru představit -- písmena v různých řezech, obrázky, tvary, odstíny, barvy, čáry, body, ...</para>
<para
>Soubor &PostScript; je relativně abstraktní reprezentace jedné nebo více tisknutých stránek. Ideálně by měl popisovat stránky nezávisle na zařízení. &PostScript; není přímo <quote
>viditelný</quote
>, žije pouze na pevných discích a v <acronym
>RAM</acronym
> jako kódová reprezentace vytištěných stran.</para>
</sect2>
<sect2>
<title
>Rastrové obrázky na listech papíru</title>
<para
>To, co vidíte na papíru, je skoro vždy <quote
>rastrový obrázek</quote
>. I když vám mozek říká, že vaše oči vidí čáru, pomocí kvalitní lupy zjistíte, že je tam hromada malých teček... (Jedním z protipříkladů jsou čáry nakreslené <quote
>plotry s perem</quote
>). A toto je jediná věc, kterou dnešní tiskárny dokážou: jednoduché body v různých velikostech, barvách a rozlišení tak, aby vytvořili <quote
>obraz stránky</quote
> z různých bodových vzorů.</para>
<para
>Různé tiskárny vyžadují přípravu rastrových obrázků různě. Například takové inkoustové tiskárny: v závislosti na rozlišení, počtu použitých barev (ty nejkvalitnější mají až 7, lacinější používají 3), počtu dostupných trysek (některé tiskové hlavy jich mají víc jak 100), použitém algoritmu pro <quote
>dithering</quote
> a dalších jiných parametrech je výsledný rastrový formát a způsob přenosu velmi závislý na tom daném modelu.</para>
<para
>Vraťme se zpět k tiskárnám pro <quote
>Line Printer Daemon</quote
>, které chrlili řádky <acronym
>ASCII</acronym
> textu mechanicky na dlouhý spojitý papír poskládaný cik-cak jako <acronym
>had</acronym
>, který si tahali z kartónových krabic pod stolem... To je ale rozdíl oproti dnešku!</para>
</sect2>
<sect2>
<title
><acronym
>RIP</acronym
>: Od &PostScript; k rastru</title>
<para
>Před přenosem finálního rastrového obrázku na papír je nutné ho nějak spočítat z reprezentace &PostScript;. Je to velmi náročné na výpočet. Nazývá se to <quote
>Raster Imaging Process</quote
>, zkráceně <quote
><acronym
>RIP</acronym
></quote
>.</para>
<para
>Tiskárny &PostScript; se o <acronym
>RIP</acronym
> postarají samy. Jednoduše jim pošlete soubor &PostScript;. <quote
>Raster Imaging Processor</quote
> (též zvaný <acronym
>RIP</acronym
>) v tiskárně je zodpovědný (a specializovaný) za kvalitní vykonání interpretování popisu &PostScript; a vytvoření rastrového obrazu pro tisk na papír.</para>
<para
>Menší zařízení &PostScript; mají hardwarový <acronym
>RIP</acronym
> ve speciálním čipu. Velké profesionální tiskárny často mají <acronym
>RIP</acronym
> implementovaný jako softwarový <acronym
>RIP</acronym
> ve speciálním rychlém počítači se systémem &UNIX;, často na Sun SPARC Solaris nebo &SGI; &IRIX;.</para>
</sect2>
<sect2>
<title
><application
>Ghostscript</application
> jako softwarový <acronym
>RIP</acronym
></title>
<para
>Ale co se stane, pokud nemáte dost štěstí a nemáte tiskárnu pro &PostScript;?</para>
<para
>Potřebujete před posláním tiskových dat udělat <acronym
>RIP</acronym
>. Musíte zpracovat vygenerovaný &PostScript; ještě na vašem počítači (tiskovém klientovi). Musíte vytvořit přesný rastrový formát cílové tiskárny.</para>
<para
>Jinými slovy, protože se nemůžete spoléhat na to, že tiskárna rozumí jazyku &PostScript;, je tento problém dost komplikovaný. Potřebujete software, který se o to pokusí a vyřeší všechny problémy, které s tím souvisí.</para>
<para
>To je přesně to, co dělá známý balík &ghostscript; pro hodně operačních systémů &Linux;, *BSD a &UNIX;, které potřebují tisknout na tiskárnách, které nepodporují &PostScript;. &ghostscript; je interpret jazyka &PostScript;, softwarový <acronym
>RIP</acronym
>, který dokáže fungovat pro více různých zařízení.</para>
</sect2>
<sect2>
<title
><quote
>Ovladače</quote
> a <quote
>filtry</quote
> všeobecně</title>
<para
>Pro vytvoření rastrových obrázků ze vstupu &PostScript; používá &ghostscript; koncept <quote
>filtrů</quote
>. &ghostscript; obsahuje hodně různých filtrů, některé specializované pouze pro jeden model tiskárny. Tyto specializované filtry pro &ghostscript; byly často vyvinuty bez podpory a souhlasu výrobců tiskáren. Bez přístupu k dokumentaci a specifikacím to byl bolestivý proces zpětného inženýrství při zjišťování protokolů a formátů dat.</para>
<para
>Ne všechny &ghostscript; filtry fungují stejně dobře. Některé novější, jako například filtr <application
>stp</application
> z projektu <application
>Gimp</application
> Print, generují výborné výsledky vedoucí k fotografické kvalitě porovnatelné dokonce i s ovladači z &Microsoft; &Windows;.</para>
<para
>V prostředí &UNIX; a &Linux; většina aplikací generuje pro tisk &PostScript;. Filtry jsou ty skutečné nástroje každého tiskového systému. Vlastně generují správné bitové mapy pro každý vstup &PostScript; pro cílové tiskárny, které &PostScript; nepodporují.</para>
</sect2>
<sect2>
<title
>Ovladače a filtry a backendy v CUPS</title>
<para
>&CUPS; používá svoje vlastní filtry, i když je filtrovací systém založen na Ghostscript. Hlavní filtry pstoraster a imagetoraster jsou přímo odvozeny z kódu Ghostscript. &CUPS; je upravil a vylepšil a převedl do jasných a oddělených modulů.</para>
<para
>Následující obrázek (vytvořený v &kivio;) poskytuje přehled filtrů a backendů v &CUPS; jak spolu souvisí. <quote
>Tok</quote
> dat je shora dolů. Backendy jsou speciální filtry: nepřevádějí data do jiného formátu ale posílají už připravené soubory na tiskárnu. Pro různé protokoly přenosu existují různé backendy.</para>
<screenshot id="architecture-diagram"
> <screeninfo
>Spuštěný dialog &kprinter; (náhled kresby &kivio;) </screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="cups-filterarchitecture-kivio-70Percent-scaled.png" format="PNG"/></imageobject
> <textobject
> <phrase
>Spuštěný dialog &kprinter; (náhled kresby &kivio;)</phrase
></textobject
> </mediaobject
> </screenshot>
</sect2>
<sect2>
<title
>Správa front a tiskových démonů</title>
<para
>Kromě velké části filtrování při generování bitových map pro tisk potřebuje tiskový systém i mechanizmus pro správu front. To znamená zařazení různých úloh od různých uživatelů pro různé tiskárny a různé filtry a poslat je správně na místo určení. O to se stará tiskový démon.</para>
<para
>Tento démon udržuje pořádek. Je zodpovědný za správu úloh: uživatelé by měli mít možnost zrušit, zastavit, restartovat, atd. svoje úlohy (ale ne úlohy jiných lidí) a podobně.</para>
</sect2>
</sect1>
<sect1 id="cups-and-ppd">
<title
>Exkurze: Jak <quote
>CUPS</quote
> používá sílu &PPD;</title>
<para
>Teď, když už víte, jak se soubor v jazyku &PostScript; převádí na rastrový obrázek, možná se ptáte: <quote
>No když je tedy tak moc různých druhů výstupních zařízení: liší se v rozlišení, používají se různé papíry, existují různá dokončovací zařízení (oboustranný tisk, brožury, svazování, první strany s jinou barvou apod), jako to funguje s tím, že je &PostScript; nezávislý na zařízení?</quote
></para>
<para
>Odpověď přišla s formátem &PostScript; Printer Description (soubory &PPD;). &PPD; popisuje všechny funkce, které závisí na zařízení a daná tiskárna je dokáže využít. Obsahuje i příkazy, které se mají použít pro volání některých funkcí zařízení. Ale &PPD; není uzavřená kniha, jsou to jednoduché textové <acronym
>ASCII</acronym
> soubory.</para>
<para
>&PPD; <quote
>vymyslela</quote
> firma Adobe, aby zjednodušila výrobcům implementaci svých vlastních funkcí v &PostScript; tiskárnách, ale aby zůstal standardní způsob, jako to dělat. &PPD; jsou dobře popsané a dobře zdokumentované. Jejich specifikace je vlastně otevřený standard.</para>
<sect2 id="ppd-files">
<title
>Tiskové možnosti závislé na zařízení</title>
<para
>Nezapomínejte, že pokročilý &PostScript; tisk byl původně vyvinut pro &Microsoft; &Windows; a Apple &Mac;. Dlouho byly tyto moderní tiskárny jednoduše nedostupné pro systémy &Linux; a &UNIX;. &CUPS; to úplně změnil. &CUPS; má velmi dobrý vztah k &PPD; a proto dokáže existující &PPD; použít naplno ve všech systémech, které &CUPS; používají.</para>
<para
>Pomocí &PPD; mohli výrobci tiskáren přidat do svých produktů specializované funkce, jako je oboustranný tisk, třídění, vázání, dokončování apod. Tiskové ovladače načítají &PPD; stejně jako jiné konfigurační soubory. Proto se ovladač dozví o dostupných volbách a ví, jak je použít, takže je může poskytnout i pomocí &GUI; uživateli. Pomocí tohoto mechanizmu stále můžete tisknout &PostScript; stránky <quote
>nezávisle na zařízení</quote
> a nad ním určit dokončovací možnosti na zařízení závislé, které se přidají do souboru &PostScript; vytvořeného aplikací.</para>
</sect2>
<sect2>
<title
>Kde získat &PPD; pro &PostScript; tiskárny </title>
<para
></para>
<para
>&CUPS; dokáže použít originální &PPD; z &Windows; distribuované výrobci &PostScript; tiskáren .Obvykle jsou zadarmo a můžete si je stáhnout z každého počítače s &Windows;, který má pro váš model nainstalovaný ovladač &PostScript;, nebo z disket, které se dodávají s vaší tiskárnou. Existuje i několik míst na webu, kde je můžete získat.</para>
</sect2>
<sect2>
<title
>Jak se používají speciální &PPD; i pro tiskárny bez &PostScript; podpory</title>
<para
>Už víte, že tiskárny &PostScript; dokáží používat &PPD;. Ale co s ostatními, které &PostScript; nepodporují? &CUPS; udělal další výborný trik: pomocí stejného formátu a struktury dat jako mají &PPD; v &PostScript; světě dokáže popsat dostupné možnosti tisku stejně i pro tiskárny, které &PostScript; nepodporují. Pro tyto speciální případy &CUPS; přidal několik speciálních možností (přesněji řádek, který určuje, jaký filtr se má pro další zpracování souboru &PostScript; použít).</para>
<para
>Takže vývojáři mohou používat stejný způsob zpracování souborů Printer Description Files pro dostupné formáty pro všechny druhy tiskáren. Samozřejmě vývojáři &CUPS; se nemohou spoléhat na to, že výrobci tiskáren nepodporujících &PostScript; začnou naráz vyvíjet &PPD;. Museli začít sami a vytvořit je od začátku. V komerční verzi &CUPS; nazvané <application
>ESP PrintPro</application
> je podporovaných více jak 1000 takových tiskáren.</para>
<para
>Mezitím vzniklo hodně &PPD; určených speciálně pro &CUPS;. Ani dnes většina z nich nepochází od výrobců tiskáren, ale od nadšenců. &CUPS; ukázal, že to jde a ostatní se přidali: tam, kde byl tisk na &Linux; a &UNIX; před dvěma roky problém, dnes existuje podpora pro velké množství tiskáren včetně 7-barevných inkoustových tiskáren podporujících fotografickou kvalitu.</para>
</sect2>
<sect2>
<title
>Různé způsoby jak získat &PPD; pro tiskárny bez &PostScript; podpory</title>
<para
>&PPD; pro &CUPS; a tiskárny bez &PostScript; podpory můžete získat z různých míst na webu:</para>
<itemizedlist
> <listitem
> <para
> za prvé, na <ulink url="http://www.linuxprinting.org"
>www.linuxprinting.org</ulink
> existuje databáze, která umožňuje generovat &PPD; soubory on-line pomocí <quote
>CUPS-O-Matic</quote
> pro každou tiskárnu podporovanou tradičním systémem &ghostscript;. To zjednodušuje přechod na &CUPS;. Pokud vaše tiskárna funguje s &ghostscript; dobře, použijte CUPS-O-Matic pro přizpůsobení vašeho ovladače v systému &CUPS; a získáte to nejlepší z obou systémů.</para
> </listitem
> <listitem
> <para
>za druhé, pro &CUPS; existují &PPD; pro více jak 120 modelů tiskáren, které podporují nový univerzální ovladač <application
>stp</application
>. <application
>stp</application
> (původně znamenal Stylus Photo) teď vyvíjí projekt gimp-print. Začal ho vytvářet Mike Sweet, hlavní vývojář &CUPS;, a nyní je dostupný na <ulink url="http://gimp-print.sourceforge.net"
>gimp-print.sourceforge.net</ulink
>. Tento ovladač podporuje fotografickou kvalitu na mnohých moderních inkoustových tiskárnách a dokáže podporovat až 120 &CUPS; &PPD; souborů. Podporuje i tiskárny &HP; LaserJet a DeskJet, <trademark class="registered"
>Epson</trademark
> Stylus a Photo Color a i některé tiskárny <trademark class="registered"
>Canon</trademark
> a <trademark class="registered"
>Lexmark</trademark
>.</para
> </listitem
> <listitem
> <para
>za třetí, existuje komerční rozšíření &CUPS; od vývojářů &CUPS;: jmenuje se <application
>ESP PrintPro</application
> a obsahuje ovladače pro více jak 2300 tiskáren. Obsahuje i vylepšené verze filtrů imagetoraster a pstoraster.</para
> </listitem
> </itemizedlist>
<para
>Díky &CUPS; je opravdu jednoduché, aby výrobci začali podporovat systémy &Linux; a &UNIX; ve svých modelech za nízkou cenu. Modulární rámec &CUPS; podporuje připojení každého filtru (=ovladače) s minimální námahou a &CUPS; tak umožňuje přístup ke všem svým funkcím.</para>
<para
>Více se o &CUPS; dozvíte z &CUPS; dokumentace dostupné na <ulink url="http://www.cups.org/documentation.html"
>http://www.cups.org/documentation.html</ulink
> a <ulink url="http://wwww.danka.de/printpro/faq.html"
>http://www.danka.de/printpro/faq.html</ulink
>. Další databáze pro všechny otázky kolem tisku na systémech &Linux; a &UNIX; je na <ulink url="http://www.linuxprinting.org"
>http://www.linuxprinting.org/</ulink
>.</para>
</sect2>
</sect1>
<sect1 id="cups-ipp-support">
<title
>Jak podpora &IPP; dělá z &CUPS; nejlepší volbu</title>
<sect2>
<title
><quote
><acronym
>LPD</acronym
> musí zemřít!</quote
></title>
<para
>Dlouhou dobu bylo hodně vývojářů nespokojených se starým <acronym
>LPD</acronym
>. Vzniklo několik nových projektů na vylepšení tisku: <application
>LPRng</application
> je asi nejznámější příklad. Dalšími jsou například <acronym
>PDQ</acronym
>, <acronym
>PPR</acronym
>, <acronym
>PLP</acronym
>, <acronym
>GNUlpr</acronym
> a <acronym
>RLPR</acronym
>. Ale žádný z nich nebyl nikdy chápán jako <quote
>něco velké</quote
>, většina jednoduše znovu implementuje starou specifikaci <acronym
>LPD</acronym
> s některými rozšířeními, které jsou zase navzájem nekompatibilní.</para>
<para
>Když takovýto vývoj několika alternativ ke klasickému <acronym
>LPD</acronym
> ve stylu <acronym
>BSD</acronym
> viděl Grant Taylor, autor <citetitle
>Linux Printing HOWTO</citetitle
>, zakřičel ve své kampani <quote
>Campaing To Abolish The Line Printer Daemon</quote
> <citetitle
>LPD musí zemřít!</citetitle
> .</para>
<!-- FIXME: look up URLs for the above -->
</sect2>
<sect2>
<title
>Jak vznikl &IPP;</title>
<para
>Na straně firem též vznikala snaha o překonání známých slabostí <acronym
>LPD</acronym
>. Vznikala jako proprietární rozšíření starého <acronym
>LPD</acronym
> a došlo to až tak daleko, že se &Hewlett-Packard; pokusil prosadit &HP; JetDirect jako nový standard pro tisk na síti. Výsledkem byla pouze nová nekompatibilita.</para>
<para
>Nakonec se zrodila iniciativa pro definování nového standardu s podporou <acronym
>IETF</acronym
>. <quote
>Printer Working Group</quote
>, čili <acronym
>PWG</acronym
>, skupina výrobců hardware, software a operačních systémů, vytvořila nový <quote
>Internet Printing Protocol</quote
>, &IPP;. &IPP; v1.1. byl schválený <acronym
>IETF</acronym
> (Internet Engineering Task Force) jako navrhovaný standard a teď si užívá širokou podporu mezi firmami v Evropě, USA i Japonsku. Nejnovější síťové modely tiskáren mají kromě tradičního <acronym
>LPR</acronym
>/<acronym
>LPD</acronym
> nebo JetDirect zabudovanou podporu pro &IPP; .</para>
</sect2>
<sect2>
<title
>Proč &IPP; řeší mnoho problémů</title>
<para
>&IPP; slibuje vyřešení množství problémů administrátorů sítí. Obvykle se to týká heterogenních sítí, kde se stráví polovina času řešením problémů s tiskem.</para>
<para
>Dosažení vytvoření jednotné množiny funkcí pro zjišťování v tiskárnách a serverech podporujících &IPP; pro přenos souborů a nastavení ovládání úloh atd. má být &IPP; nezávislý na &OS;. Jeho zavedení se ale nestane hned, protože se stále ještě používá hodně starších tiskáren. Proto je v &IPP; podpora pro zpětnou kompatibilitu všech jeho implementací. &CUPS; dokazuje schopnosti tisku &IPP; ve všech prostředích.</para>
<para
>Nejvýznamnější výhodou je jeho integrace s existujícím protokolem <acronym
>IP</acronym
>. Je to rozšíření ověřeného a robustního protokolu <acronym
>HTTP</acronym
> 1.1 pro speciální úkol zpracování tiskových souborů a souvisejících dat, je ho velmi jednoduché zapojit do ostatních standardů, které se vyvíjejí a používají:</para>
<itemizedlist
> <listitem
> <para
>základní, digest a certifikátové ověření uživatelů při přístupu k tiskárnám.</para
> </listitem
> <listitem
> <para
>šifrování SSL3 a <acronym
>TLS</acronym
> pro přenos dat.</para
> </listitem
> <listitem
> <para
>obousměrná komunikace s klienty a tiskovými zařízeními pomocí příkazů <acronym
>HTTP</acronym
>/&IPP; <command
>GET</command
> a <command
>POST</command
>.</para
> </listitem
> <listitem
> <para
>integrace adresářových služeb LDAP pro udržování konzistence databáze dostupných tiskáren, jejich schopností, ceny stránek atd. společně s hesly, <acronym
>ACL</acronym
> atd.</para
> </listitem
> <listitem
> <para
>tisk ve stylu <quote
>pull</quote
> (a ne klasickým systémem <quote
>push</quote
>), kde se serveru nebo tiskárně pošle pouze &URL; dokumentu a on si tiskovou úlohu odtud sám stáhne a vytiskne.</para
> </listitem
> </itemizedlist>
</sect2>
<!--
<sect2>
<title
>&CUPS;, &IPP; and &kde;</title>
<para
>&CUPS; is the most advanced implementation of &IPP; on all &OS;
platforms. That makes &CUPS; a crucial ally to help "conquer the
desktop" for projects like &kde;. &kdeprint; is the best utility to
make &CUPS; core functionality available to &kde; Desktop
users.</para>
</sect2
> -->
<sect2>
<title
><quote
>Plug'n'play</quote
> tiskárny pro klienty</title>
<para
>Viděli jste už někdy demonstraci schopností &CUPS; v síti? Určitě by vás ohromila, pokud by jste nevěděli, co máte očekávat.</para>
<para
>Představte si, že jste administrátor <quote
>LAN</quote
>. Pro testování jste nainstalovali jeden počítač s &kde;/&CUPS;, spolu s několika funkčními a nastavenými tiskárnami: &PostScript;, LaserJet, InkJet a BubbleJet atd. Vaši uživatelé &kde; na tomto počítači jsou spokojení, protože mohou tisknout tak, jako nikdy předtím, Trvalo to 2 hodiny, než všechno fungovalo správně... a teď chtějí všichni ostatní v síti to samé. 2 hodiny pro každý počítač?</para>
<para
>Chyba. Změníte jedno nastavení na původním počítači s &CUPS;, aby se stal z něho <quote
>server</quote
>. Nainstalujete &CUPS; na pěti jiných počítačích jako <quote
>klienta</quote
>. Když se vrátíte k prvnímu klientovi, jeho uživatelé si již hrají s nastavením tiskáren, které jste definovali na <quote
>serveru</quote
>. Magicky se tiskárny objevili v jejich dialozích pro <quote
>tisk</quote
> na všech pěti nových klientech &CUPS;.</para>
<para
>Vaše uživatelé tisknou, ale nikdo z nich si nemusel nainstalovat žádný ovladač, ani tiskovou frontu.</para>
<para
>Takže, jako ta magie funguje?</para>
</sect2>
<sect2>
<title
><quote
>Vidění</quote
>tiskáren nenainstalovaných lokálně?</title>
<para
>Odpověď není vůbec složitá.</para>
<para
>Pokud je server &CUPS; na síti <acronym
>LAN</acronym
>, vysílá jména dostupných tiskáren do sítě <acronym
>LAN</acronym
> pomocí protokolu <acronym
>UDP</acronym
> a portu 631. Tento port je rezervovaný jako <quote
>známý port</quote
> u <acronym
>IANA</acronym
> (<quote
>Internet Assigning Numbers Authority</quote
>) právě pro &IPP;. Všichni klienti &CUPS; poslouchají informace poslané serverem &CUPS; na jejich port 631. A tak se dozvěděli o <quote
>cestě</quote
> k tiskárnám.</para>
<para
>Pomocí &IPP;, který je opravdu šikovné rozšíření <acronym
>HTTP</acronym
> v1.1, dokáže &CUPS; adresovat všechny objekty související s tiskovým systémem pomocí <acronym
>URL</acronym
>. Tiskové úlohy se odstraňují nebo restartují, tiskárny je možné zjistit a upravit, administrátorské úlohy je možné udělat na serveru, s &IPP; a &CUPS; je všechno dostupné pomocí <acronym
>URL</acronym
>. Hodně důležitých věcí je možné udělat přes webové rozhraní &CUPS; dostupné například z okna &konqueror;.</para>
</sect2>
<sect2>
<title
>Tisk bez instalace ovladače</title>
<para
>A dále klienti mohou <quote
>administrovat</quote
> a <quote
>používat</quote
> každou tiskárnu, kterou vidí stejně, jako by byla nainstalována lokálně. Samozřejmě můžete její použití omezit, takže ne každý klient může používat každou tiskárnu.</para>
<para
>Klienti dokonce mohou tisknout bez vhodného filtru (nebo ovladače) nainstalovaného lokálně.</para>
<para
>Jak to může fungovat? Pokud klient chce nastavit možnosti pro danou tiskárnu, pošle požadavek (nazvaný <command
>CUPS-get-ppd</command
>) serveru. Server oznámí klientovi všechny dostupné možnosti tak, jak je zjistil ze souboru &PPD;. Uživatel na klientovi vidí možnosti a může je použít. Potom pošle tiskový soubor, obvykle jako <quote
>raw</quote
> &PostScript; s přidanými možnostmi tiskárny na server pomocí protokolu &IPP;. Další zpracování, hlavně filtrování a vytvoření finálního formátu pro tiskárnu už udělá server. Server obsahuje programy (<quote
>ovladače</quote
> nebo <quote
>filtry</quote
>), aby to dokázal.</para>
<para
>Takto mohou klienti tisknout bez potřeby lokálně instalovat ovladač.</para>
<para
>Každá změna na serveru, jako je přidání nebo změna tiskárny je bez další konfigurace <quote
>neustále</quote
> známá klientům.</para>
</sect2>
<sect2>
<title
><quote
>Nulová administrace</quote
>, vyrovnávání zátěže a <quote
>přepínání při selhání</quote
></title>
<para
>Některé další pokročilé funkce zabudované v &CUPS; podporují <quote
>vyrovnávání zátěže</quote
>.</para>
<para
>Pokud nadefinujete stejné tiskové fronty na jednom nebo více serverech, klient bude posílat své úlohy na první dostupný server. Tím vzniká automatické vyvažování zátěže mezi servery. Pokud musíte jeden ze serverů ze sítě odstranit, ostatní se o úlohy budou starat dále tak, že si to uživatel vůbec nevšimne.</para>
</sect2>
</sect1>
</chapter>
|