Ekskursion: Hvordan “CUPS” bruger styrken i PPDer

Nu da du ved hvordan en PostScript®-sprogfil (som beskriver sidelayout på en måde der stort set er enhedsuafhængig) går over til at blive til et rasterbillede, vil du måske spørge: “Nuvel, der er forskellige slags raster-uddataenheder: for det første er de forskellige i opløsning; så kan der være forskellige papirstørrelser (dupleks udskrift, pamfletter, hullet eller klipset uddata med forskellige ark af farvet papir der bliver taget fra forskellige bakker osv.). Hvordan passer dette ind i modellen med enhedsuafhængig PostScript®?

Svaret kommer med det såkaldte de PostScript® Printer Description (PPD filer. En PPD beskriver alle de enhedsafhængige egenskaber som kan bruges for en bestemt printermodel. Den indeholder også indkodede kommandoer der skal bruges til at kalde visse egenskaber ved enheden. Men PPDer er ikke en lukket bog, de er simpelthen ASCII tekstfiler.

PPDer blev “opfundet” af Adobe for at gøre det nemt fabrikanter at implementere deres egne egenskaber i PostScript®-printere, og samtidigt beholde en standard måde at gøre det på. PPDer er veldokumenterede og beskrevet af Adobe. Deres specifikation er en de-facto åben standard.

Enhedsuafhængige udskriftsvalg

Husk at avanceret PostScript®-udskrift oprindeligt kun blev udviklet til brug på Microsoft® Windows® og Apple Mac®-systemer. I lang tid var alle egenskabsrig udskrift på moderne enheder simpelthen ikke tilgængelig for Linux® og UNIX®. CUPS ændrer dette afgørende. CUPS er meget tæt knyttet til PPDer, og derfor kan eksisterende PPDer bruges i fuldt omfang af alle systemer der køres med CUPS.

Ved brug af PPDer kunne printerfremstillerne indsætte enheds-specifikke maskinelegenskaber i deres produkter, for egenskaber såsom dupleks, hæftning, lave huller, afslutning osv.. Printerdriverne indlæser denne PPD lige som en ekstra indstillingsfil. Printerdriveren lærer således om de tilgængelige enhedstilvalg og hvad en skal kalde dem; driveren præsenterer dem også i en GUI til brugeren. Gennem denne mekanisme kan du stadig udskrive “enheds-uafhængigtPostScript® sidebeskrivelses-sprog filer og angive enheds-uafhængig afslutningstilvalg oveni, som bliver tilføjet til det program-genererede PostScript®.

Hvor får man PPD'er til PostScript®-printere

PPDer var oprindeligt ikke almindeligt brugt på UNIX® og Linux® systemer. Forhandlerne der sørgede for disse PPDer havde aldrig til hensigt at de skulle bruges på noget som helst andet end understøttede operativsystemer, Microsoft® Windows® og Mac® OS. Gennem det brillante træk fuldt ud at understøtte og udnytte eksisterende PPD-specifikation, giver CUPS nu muligheden for at bruge alle egenskaber på moderne printere til brugere af Linux® og Linux®-lignende systemer. KDEPrint gør dens brug endnu mere komfortabel end selv CUPS-udviklerne nogensinde drømte om.

CUPS kan bruge originale Windows® PPDer, distribueret af forhandlerne i tilfælde af PostScript®-printere. Disse koster normalt ikke penge og de kan tages fra en vilkårlig Windows®-computer med en installeret PostScript®-driver for den model det drejer sig om, eller fra de floppydiske der kommer med printeren. Der er også adskillige steder på nettet man kan nedtage dem fra.

Hvordan specielle PPDer nu er nyttige selv for ikke-PostScript® printere.

Nu ved du hvordan PostScript®-printere kan bruge PPDer. Men hvad med ikke-PostScript® printere? CUPS har gjort et meget smart trick: ved at bruge det samme format den samme datastruktur som PostScript® Printer Descriptions (PPDer) i PostScript®-verdenen, kan den beskrive de tilgængelige udskriftjob-tilvalg for ikke-PostScript® printere på samme måde. For sine egne specielle formål har CUPS blot tilføjet et par specielle tilvalg (nemlig linjen som definerer filtret der skal bruges til yderligere behandling af PostScript®-filen).

Så udviklerne kunne bruge den samme software-maskine til at analysere Printer Description Filer for tilgængelige tilvalg for alle slags printere. CUPS-udviklerne kunne naturligcis ikke regne med at ikke-PostScript® fabrikanterne pludselig ville udvikle PPDer. De måtte selv gøre den svære start og skrive dem fra begyndelsen. Mere end 1000 af disse er tilgængelige gennem den kommercielle udgave af CUPS, der hedder ESP PrintPro.

I mellemtiden er der masser af tilgængelige CUPS-specifikke PPDer. Selv nu kommer de ide fleste tilfælde ikke fra dem der laver printerne, men fra udviklere af frit programmel. CUPS-folkene beviste det og andre fulgte efter: hvor Linux® og UNIX® udskrift for et eller to år siden stadig var noget rod, har man nu støtte for et stort område af printere, inkluderende 7-farve inkjets der kan producere fotokvalitet output.

Forskellige måder at få fat på PPDs for ikke-PostScript® printere

Du kan få PPDer til at bruge med CUPS og ikke-PostScript® printere fra forskellige steder på nettet:

  • for det første er der lageret på www.linuxprinting.org, som lader dig generere en “CUPS-O-Matic”-PPD online for enhver printer der allerede var understøttet af traditionel ghostscript udskrift. Dette hjælper dig til at skifte over til CUPS uden stort besvær, hvis du ønsker det. Hvis din printer virkede fint med den traditionelle ghostscript-metode, så tag CUPS-O-Matic til at stikke din driver ind i CUPS-systemet, og du vil have det bedste af begge verdener.

  • dernæst er der CUPS-PPDer for de mere end 120 printermodeller, der drives af den nye universelle stp-driver. stp (stod oprindeligt for Stylus Photo) bliver nu udvikler af gimp-print-projektet; det blev startet af Mike Sweet, den førende CUPS-udvikler og er nu tilgængelig gennem gimp-print.sourceforge.net. Denne driver udskriver rigtig fotokvalitet på mange moderne inkjet-printere og kan indstilles til at lave 120 CUPS-PPDer sammen med sin egen kompilering. HP® Laser- og DeskJet, Epson® Stylus og Photo Color-modeller så vel som Canon® og Lexmark® er dækket.

  • for det tredje er der en kommerciel udvidelse til CUPS fra selve CUPS-udviklerne: den hedder ESP PrintPro og den kommer med mere end 2.300 printerdrivere. Der er endog forbedrede imagetoraster og pstoraster filtre inkluderede.

CUPS gør det nemt for fabrikanterne at begynde at understøtte Linux® og UNIX® udskrift for deres modeller med en temmelig lav omkostning. De modulære omgivelser som CUPS har gør det let at stikke ethvert filter (=driver) ind med minimal indsats og at få adgang til og bruge hele udskriftsmiljøet som CUPS laver.

Læs mere om de spændende CUPS-egenskaber i den tilgængelige CUPS-dokumentation på http://www.cups.org/documentation.html og http://www.danka.de/printpro/faq.html. Der er også et universelt lager på http://www.linuxprinting.org/ for alle punkter der relaterer til Linux® og UNIX® udskrift.