S o f t v e r
PC home - osnovna strana
PC #57 - Jun 2000

PostScript drajveri

   Za dobijanje maksimalnog kvaliteta i performansi prilikom štampanja na PostScript izlaznim uređajima neophodno je poznavanje tehnologije koja se nalazi u osnovi ovog procesa. Dajemo recept za uspešnu "plovidbu", uz izbegavanje podvodnih hridi...
Bojan Stojanović

    Jedna od važnih osobina modernih operativnih sistema je podrška za izlazne uređaje. Kada su u pitanju štampači, to znači da komponente koje konvertuju podatke iz grafičkog modela aplikacija nisu sastavni deo tih aplikacija, već su integrisane u operativni sistem. Na Windows platformama standardni grafički model je GDI (Graphics Device Interface), dok drajver za štampač prevodi instrukcija za zapis stranice (odnosno njen prikaz na ekranu) u naredbe upravljačkog jezika printera.

    Nekada se često govorilo da Windows sistemima odgovaraju PCL štampači, dok su PostScript štampači bili rezervisani za Macintosh okruženja. Razlog za ovakvu podelu je "bliskost" grafičkog modela koji je primenjen u PCL i GDI implementacijama na jednoj, kao i PostScript i Quick Draw (Mac-ov grafički model) na drugoj strani. Današnji PostScript drajveri su upotrebljivi u svim Windows aplikacijama ali, kao što ćemo kasnije videti, put do njihovog pouzdanog funkcionisanja bio je veoma dug.

    Koncept sistemskih drajvera za štampač ima nekoliko bitnih prednosti, ali i mana. Mogućnost da drajver koriste svi programi znači da programeri mogu da budu oslobođeni briga oko kontrole štampe. Ukoliko se u budućnosti pojavi neki novi model štampača, neće biti neophodna intervencija na postojećim programima. Standardizovani interfejs za štampu može se koristiti i na drugi načine - tako su nastali drajveri za faks koji se instaliraju kao standardni drajveri za štampač ili PDF drajveri koji izlaz iz aplikacije automatski konvertuju u PDF dokument. Najuočljivija loša strana sistemskih drajvera, koja je dovela i do sasvim drugačijeg pristupa ovom problemu, jeste nemogućnost direktne kontrole štampača.

Direktna kontrola

    Da li je programu potrebno da neposredno upravlja štampanjem? Kada su u pitanju DTP programi u kombinaciji sa PostScript štampačima, odgovor glasi: naravno da jeste! Većina grafičkih i DTP programa interno je zasnovana na modelu koji je veoma blizak PostScript-u, dok svi noviji Adobe programi imaju arhitekturu koja u potpunosti odgovara PostScript imaging model-u. Adobe Illustrator, na primer, za zapis stranice koristi EPS format, tako da se ovakav dokument praktično u neizmenjenom obliku dostavlja štampaču.


Na HP štampačima rezoluciju od 1200 dpi je ponekad moguće dobiti samo direktnim podešavanjem drajvera

    DTP programi koji generišu CMYK separacije boja za štampu zahtevaju takav nivo kontrole grafičkih naredbi PostScript-a koji standardni PostScript drajveri ne mogu da postignu. Bilo bi sasvim nepoželjno da drajver na bilo koji način interveniše na izlaznom PostScript kodu QuarkXPress-a. Slično je i sa drugim programima - Adobe Acrobat, na primer, štampaču šalje optimizovan PostScript program koji je dobijen direktnom konverzijom iz PDF formata. Prema tome, PostScript drajver je ponekad "suvišan" i zbog toga je uveden pass-through režim. Ukoliko aplikacija pošalje drajveru PostScript sekvencu u pass-through režimu, ona će biti prosleđena štampaču u izvornom obliku.

    Bez obzira na to da li se drajver za štampač koristi u osnovnom, ili pass-through režimu, parametri koje smo definisali u Properties opcijama biće ugrađeni u izlazni PostScript fajl, ukoliko ih nismo promenili direktnim podešavanjima u programu iz kojeg smo pokrenuli štampanje. Očigledno je da aplikacije moraju imati mogućnost pristupa specifičnim osobinama pojedinih PostScript štampača. Na ovom mestu u "igru" ulaze PPD fajlovi koji predstavljaju bitnu komponentu tehnologije PostScript drajvera.

PPD datoteke

    Platformska nezavisnost je najveća prednost PostScript-a kao programskog jezika za opis stranice. Iz toga bi se moglo zaključiti da PostScript drajver za štampač funkcioniše sa svakim modelom PostScript štampača. Moguće je, naravno, napraviti takav PostScript drajver koji će proizvoditi naredbe funkcionalne na svakom PS izlaznom uređaju, ali takav drajver neće biti u stanju da iskoristi specifične opcije i mogućnosti pojedinih modela.


Instalacija štampača pomoću PPD fajla

    PostScript operatori za tekst i grafiku su univerzalni, ali ako treba ponuditi korisniku izbor kasete za uvlačenje papira (da pomenemo samo najčešću opciju) drajver mora najpre da "zna" da li takva dodatna kaseta ili slot uopšte postoje i koje su instrukcije za njihovo kontrolisanje. Sasvim je jasno da bi prilagođavanje drajvera pojedinim štampačima kompromitovalo čitav koncept platformske nezavisnosti PostScript-a.

    Rešenje je u razdvajanju PostScript drajvera u dve komponente: glavni deo drajvera generiše univezalne instrukcije za grafiku i tekst, a zaseban deo je namenjen "mašinski zavisnim" komandama. Ova komponenta drajvera se može konfigurisati eksterno i ona korisniku daje pristup svim opcijama izlaznog uređaja. Da bi se pružila sistematizovana podrška ovim opcijama, Adobe je definisao PostScript Printer Description format. PPD fajlovi su u ASCII obliku i obuhvataju sve podatke nephodne za konfiguraciju izlaznog uređaja.

    Sadržaj tipične PPD datoteke je podeljen u nekoliko segmenata. Tu je, najpre, opis hardvera štampača, informacije o podržanim rezolucijama, o eventualnom hard-disku, o kolornom modelu... Sledi opis PostScript interpretera (koji nivo PostScript jezika je implementiran, koliko je ugrađeno memorije, da li postoji podrška za rasterizaciju TrueType fontova), zatim segment o protokolima komunikacije sa štampačem (ASCII ili binarni), kao i o ugrađenim fontovima.

    Veoma je značajan segment koji se odnosi na realne vrednosti linijature i uglova rastera koji se mogu upotrebiti na izlaznom uređaju. Najzad, tu su i svi podaci o vrsti i formatima medija na kojima se štampa. Uloga PPD fajla nije samo pružanje odgovora na pitanja o funkcijama štampača - ovde se nalaze i odgovarajuće PostScript instrukcije kojima se neka od tih funkcija aktivira. Proizvođač svakog PostScipt izlaznog uređaja isporučuje i odgovarajuće PPD datoteke.

Protokoli

    Prilikom komunikacije sa PostScript izlaznim uređajem veoma je bitno razdvojiti podatke od kontrolnih kodova. Pravilno prepoznavanje početka i kraja transfera je od vitalnog značaja za ispravno funkcionisanje interpretera. Zbog toga se "saobraćaj" između računara i štampača odvija po strogo definisanim protokolima. Najčešće korišćen protokol na PostScript štampačima je tzv. standarni protokol koji sve PostScript podatke dostavlja u sedmobitnom ASCII obliku. Nekim karakterima su dodeljene kontrolne funkcije tako da se za prenos podataka koriste kodne pozicije 32-127.


Najbolje perofrmanse pruža binarni protokol, dok ASCII ima univerzalnu prohodnost

    Najvažniji kontrolni karakter je Ctrl+D (na poziciji 4) koji predstavlja end-of-job marker. Kada interpreter naiđe na Ctrl+D, izvršiće reinicijalizaciju, osloboditi memoriju i vratiti se u ready stanje. Ctrl+D kao sastavni deo PostScript podataka (npr. bitmapirane slike) pogubno deluje na rad štampača, koji bi se resetovao usred posla. Da bi se binarni podaci prenosili standardnim protokolom neophodno je njihovo konvertovanje u heksadecimalni ASCII oblik, što praktično udvostručava količinu podataka koja se transportuje štampaču. Na Level 2 i kasnijim interpretirama koristi se znatno efikasnije ASCII85 enkodovanje koje uvećava fajlove za "samo" 25%.

    Većina novijih štampača podržava i neki od binarnih protokola koji omogućavaju brži prijem podataka i štampanje. Najčešće su u upotrebi BCP (Binary Control Protocol) i TBCP (Tagged Binary Control Protocol) koji sve podatke osim kontrolnih karaktera šalju u 8-bitnom binarnom obliku. Ukoliko je štampač priključen direktno na AppleTalk i Ethernet mrežu, može se koristiti i čist binarni oblik (Pure Binary Data) koji daje najbolje performanse. Protokoli se podešavaju u Printers / Properties / PostScript / Advanced odeljku. Ukoliko pripremate PostScript fajlove za osvetljivač, najbolje je da koristite ASCII format podataka, jer ćete tako izbeći sve potencijalne probleme kompatibilnosti.

Fontovi

    Type 1 fontovi koje smo koristili u dokumentu stižu do PostScript štampača u originalnom obliku. Jedina promena je eventualni subsetting, odnosno izdvajanje minimalnog skupa karaktera za pojedine fontove. Ukoliko je u dokumentu upotrebljeno samo nekoliko slova u određenom fontu, preostali slovni likovi bi nepotrebno opterećivali izlazni PostScript fajl. Upotreba TrueType dovela je do problema njihove podrške od strane PostScript uređaja, tako da je obavezna funkcija svakog PostScript drajvera konverzija TrueType fontova u Type 1 format. Sva neophodna podešavanja nalaze se u odeljku Fonts / Send Fonts As. Ukoliko je na ovom mestu aktivna opcija Send TrueType Fonts As Outline, drajver će "u letu" konvertovati TrueType fontove u Type 1 format.


Konverzija TrueType fontova u Type 1 format

    Aplikacije koje same generišu PostScript kod će samostalno obaviti konverziju na osnovu parametara drajvera, tako da treba posvetiti punu pažnju ovim opcijama. Imajte u vidu da se prilikom konverzije gube svi hintovi, a izlazni uređaj dobija samo konturni zapis slova. Zbog toga postoji i polje u kome definišemo prag (threshold), odnosno zadajemo vrednost u pikselima u tekućoj rezoluciji ispod koje će se rasterizacija TrueType fontova prepustiti operativnom sistemu, a štampaču će biti poslate bitmape "spakovane" kao Type 3 fontovi.

    Osnovna threshold vrednost je 100 piksela, ali nam ovaj "suvoparan" podatak malo govori. Važi formula: n = x * (dpi/72), gde smo sa n označili vrednost praga u pikselima, x je veličina slova u pointima, a dpi je rezolucija štampača. Prema tome, ukoliko želimo da se slova veličine do 12 pt rasterizuju maksimalnim kvalitetom i šalju štampaču rezolucije 600 dpi kao bitmape, u polje threshold upisaćemo 100 (pošto je 12*600/72=100). Kod pripreme fajlova za osvetljivač, obavezno u ovo polje upišite 0 - tako ćete biti sigurnu da RIP osvetljivača uvek dobija Type 1 fontove, pošto tada visoke rezolucije čine da se uloga hintova izgubi.

    Noviji PostScript Level 2 i PostScript 3 intepreteri direktno podržavaju TrueType format. Ukoliko izaberete opciju Send TrueType Fonts As Type 42, TT fontove će rasterizovati PostScript RIP. Ova opcija je pogodna za kućne laserske štampače ali je, zbog maksimalne kompatibilnosti, u prepress poslovima najbolje opredeliti se za konverziju u Type 1 format.

Microsoft ili Adobe

    Konkretan izbor PostScript drajvera zakomplikovan je postojanjem Microsoft-ovih i Adobe-ovih verzija. Svojevremeno, na Windows 3.1 sistemima PostScript drajveri su imali veliki broj grešaka, pogotovo u tumačenju famoznog Ctrl+D karaktera koji se pojavljivao i tamo gde mu nije bilo mesto. Kada se pojavio Windows 95, Microsoft i Adobe su sarađivali na projektovaju drajvera, ali je Adobe krenuo svojim putem, pošto je Microsoft nedovoljno ažurno ispravljao bagove.


Pravilno instaliran PostScript drajver omogućava kontrolu svih specijalnih funkcija štampača

    Windows 95, 98, NT 4 i 2000 su standardno opremnljeni Microsoft-ovim PostScript drajverima za izlazne uređaje. Jedina prednost ovih drajvera je u tome što podržavaju i Level 1 izlazne uređaje. Adobe kaže da ovi drajveri i dalje imaju niz grešaka, ali je ono što korisnicima najviše smeta u svakodnevnom radu vezano za zastareo mehanizam instalacije fontova. Podaci o svakom Type 1 font koji instaliramo pojaviće se i u odgovarajućim [PostScript] sekcijama u datoteci WIN.INI i to za svaki instalirani drajver posebno. Ukoliko imamo lokalni PostScrip laserski štampač i drajver za osvetljivač, podaci u fajlu WIN.INI biće duplirani, pošto će svaki font biti "prijavljen" u [PostScript, LPT1] i [PostScript, FILE] sekcijama. Maksimalna dozvoljena veličina fajla WIN.INI je 64 KB što može da prouzrokuje velike probleme. Pored toga, Microsoft-ovi drajveri često ne instaliraju PPD datoteke već njihove pojednostavljene verzije (ekstenzija je SPD) koje većina DTP programa ne konstatuje. Preimenovanje ovih datoteka (nalaze se u Windows / System direktorijumu) uglavnom rešava problem.

    Svim korisnicima PostScript izlaznih uređaja sa originalnim Adobe RIP-om na raspolaganju su AdobePS drajveri. Ove drajvere možete koristiti u kombinaciji sa laserskim štampačem HP 4M Plus, ali licenca ne dozvoljava da ih upotrebite sa HP 4000 ili HP 5000 štampačima koji u sebi imaju emulatore PostScript-a. Ukoliko to ipak učinite, povremeno se mogu javiti greške. AdobePS drajveri ne opterećuju WIN.INI, ali podržavaju samo PostScript Level 2 i PostScript 3 izlazne uređaje. Instalacija novog PostScript štampača je realizovana isključivo posredstvom PPD datoteka. Svaki od ovih štampača predstavlja po jednu instancu drajvera, u skladu sa mehanizmom koji smo opisali. AdobePS drajveri se ne instaliraju standardnom opcijom Add Printer već se oslanjaju na sopstveni instalacioni program.

Ispravljeni drajver

    Tekuća verzija AdobePS drajvera za Windows 98 nosi oznaku 4.3.1, a za Windows NT 4 oznaka je 5.1.2. Za Windows 2000 nisu na raspolaganju AdobePS drajveri, ali bi ugrađeni Microsoft-ovi drajveri trebalo da budu funkcionalno identični 5.1.2 drajverima. Obavezno preuzmite ispravljenju verziju drajvera za Windows 2000 koja omogućava kreiranje instanci PostScript štampača na osnovu PPD fajlova.

    U trenutku pisanja ovog teksta Adobe je ponudio univerzalni program za instalaciju koji na Windows 95/98 platformama instalira AdobePS 4.40 (unapređena verzija), na NT 4 instalira 5.1.2, a na Windows 2000 sistemima ispravljene "5.1.2" drajvere. Ubrzo je primećen bag u Windows 98 veziji tako da je korisnicima savetovano da se vrate na 4.3.1 drajvere dok se greška ne ispravi. Ukoliko koristite Windows 2000 ili NT 4, svakako preuzmite datoteku apseng.exe sa Adobe sajta.


    PC home - osnovna strana Novi broj|Arhiva|Pretrazivanje svih brojeva|O nama
Pretplatite se na PC|Oglasavanje u casopisu PC|Postanite saradnik casopisa PC|Pitanja i komentari u vezi casopisa