PostScript (PS) er et programmeringsspråk som opprinnelig hadde til oppgave å gi instruksjoner til hvordan en side skal se ut ved utskrift fra en printer, men som med tiden omfatter langt mer. Det ble oppfunnet av Adobe Systems ved John Warnock, Charles Geschke, Doug Brotz, Ed Taft og Bill Paxton i 1982, basert på tidligere arbeid fra Xerox.«PostScript Turns 20» (PDF), Adobe PostScript er datamaskinspråk som regulerer beskrivelsen av en side og fungerer som et bindeledd mellom datamaskinen (tekstbehandler eller grafikkproduserende program) og utskriftsenheten.Hallberg, Åke (1988): Desktop Publishing, Cappelens Forlag, Oslo, ISBN 82-02-11403-9, s. 70 PostScript skaper en side med tekst og grafikk ved å bygge opp siden i minnet og deretter sende det til utskrift. Bilder bygges opp i et todimensjonelt koordinatsystem, og kan derfor også utsettes for koordinatbytte, de kan forstørres, forminskes, roteres og lignende. For å øke utskriftshastigheten ligger en del faste postscriptfonter lagret i skriveren.

PostScript har blitt standard og lisensieres av en rekke selskap. Det finnes imidlertid andre sidebeskrivelsesspråk som skriverprodusenten Hewlett-Packards PCL (Printer Command Language) og Xerox' InterPress, men disse har ikke blitt standard. PostScript er uavhengig av oppløsning, og får nøyaktig den oppløsning på utskriften som maskinvaren i printeren er i stand til å levere. At PostsScript er standardisert betyr at en jobb kan sendes til ulik maskinvare uavhengig av produsent, og samme resultat vil kunne forventes.

Historie Konseptet med et PostScript-språk hadde sin opprinnelse tilbake til 1976 da John Warnock arbeidet hos Evans & Sutherland, et selskap som drev med databasert grafikk. På den tiden utviklet Warnock en fortolker for et stort tredimensjonale grafikkdatabase i New Yorks havn. Warnock kom opp med et Design System-språk for å prosessere grafikken.

På samme tid hadde forskere ved Xerox' forskningssenter PARC utviklet den første laserprinter og forstått behovet for en standard for definere bilder på en side. I 1975-1976 utviklet Bob Sproull og William Newman Press-formatet som til sist ble benyttet i arbeidsstasjonen Xerox Star for å kjøre laserprintere. Men Press var mer et dataformat enn et dataspråk, og manglet fleksibilitet, og PARC satte i gang med å skape en etterfølger.

I 1978 spurte Evans og Sutherland om Warnock kunne flytte fra San Francisco Bay Area og til deres hovedkvarter i Utah, men han var ikke interessert i å flytte. Han ble isteden ansatt ved Xerox PARC for å arbeide sammen med Martin Newell. De skrev om Design System for å skape JaM (sammentrekning av «John & Martin») som ble benyttet for VLSI-design (integrert kretser eller mikrobrikker) og undersøkte trykking av skrifttyper og grafikk. Dette arbeidet utviklet og ekspanderte til Interpress-språket.

Warnock forlot PARC sammen med Chuck Geschke og grunnla Adobe Systems i desember 1982. Sammen med Doug Brotz, Ed Taft og Bill Paxton skrev de et enkelt språk, ganske likt Interpress, som de kalte for PostScript. Det kom i salg i 1984. På omtrent denne tiden fikk de besøk av Steve Jobs, som så muligheten i språket og oppfordret dem til å tilpasse PostScript som dataspråk for å instruere og drive laserprintere.

I mars 1985 ble Apple LaserWriter den første printeren som hadde innebygget PostScript-fortolker, noe som satte i gang det som på denne tiden ble kalt for desktop publishing (DTP) og ble en revolusjon på midten av 1980-tallet. Kombinasjonen av teknisk fortreffelighet og utstrakt tilgjengelighet gjorde PostScript til førstevalget for å skrive ut fra grafiske programmer. En PostScript-fortolker (tidvis referert til som RIP = Raster Image Processor) var en vanlig komponent for laserprintere til langt inn på 1990-tallet.

Imidlertid var kostnadene med gjennomføring høye; computernes produksjon av rå PostScript-kode ble tolket av printeren til et rasterbilde i printerens mulige oppløsning var krevet mikroprosessorer med høy ytelse og rikelig med dataminne, og selv da kunne den enkelte utskriften være svært tidkrevende dersom tekst og grafikk på siden var komplisert. LaserWriter benyttet en 12 MHz Motorola 68000, noe som gjorde den raskere enn noen av de Apple Macintosh-computere som den var tilknyttet. Da maskinvaren i laserprinteren i seg selv kostet over dollar, var kostnadene med å lisensiere PostScript-fortolkeren fra Adobe minimale, men etterhvert falt maskinvaren i printerne i pris, og da ble PostScript-fortolkeren en betydelig andel av de totale kostnadene ved printeren. Samtidig ble datamaskiner med grafisk programvare stadig kraftigere og mer fleksible, og det ga ingen mening å oversvømme printeren med ressurskrevende prosesser med rasterisering. Både Microsoft og Apple gikk inn i et samarbeid for å erstatte PostScript med et eget system for både utskrift og for skalerebare skrifttyper, særlig for unngå kostbar lisensiering til Adobe. Det førte til at Adobe senket prisene betydelig og inngikk samarbeidsavtaler med Microsoft og Apple.

2001 var det få prisvennlige printer som ble solgt med støtte for PostScript, hovedsakelig grunnet voksende konkurranse fra langt billigere blekkskrivere uten PostScript og med nye programvaremetoder som oversetter grafikkfiler på selve PC-en, noe som gjorde det mulig å skrive til hvilken som helst printer med det samme resultat enten den hadde innebygget PostScript-fortolker eller ikke. Adobes eget digitale format PDF (Portable Document Format), som i seg selv består av en avansert videreutvikling av PostScript-språket, ga en slik metode og har bidratt i stor grad å erstatte PostScript som de facto standard for elektronisk dokumentdistribusjon.

På avanserte og kostbare printere er derimot egne PostScript-prosessorer fortsatt vanlig, og deres bruk kan dramatisk redusere CPU-arbeidet som er involvert i å trykke komplekse dokumenter, og hvor arbeidet med gjengi PostScript-bilder er overført fra computeren og til printeren, selv ved trykking fra PDF-dokumenter.

Utviklingen av PostScript Etter at PostScript ble levert med den første LaserWriter på 1980-tallet har det ikke endret seg større. Det er i seg selv tungt å prosessere, men maskinvaren har økt kraftig med tiden og det har tildels ikke vært behov for å effektivisere språket for igjen effektivisere prosesseringen. Det har kommet tre versjoner siden den første utgaven, og særlig siste er hovedsakelig utvidelser for takle bedre fargebehandling, først og fremst for avansert trykking.

PostScript Level 1 Den første versjonen av PostScript-språket ble sendt ut på markedet i 1984. Begrepet «Level 1» ble først lagt til da Level 2 ble introdusert. Første versjon inneholdt alle de grunnleggende elementer med språket.

PostScript Level 2 PostScript Level 2 ble introdusert i 1991 og omfattet flere forbedringer: forbedret hastighet og pålitelighet, støtte for in-RIP-seperasjoner, dekomprimeringer av bilder (eksempelvis at JPEG-bilder kunne bli tolket av et PostScript-program), støtte for sammensatte fonter (skrifttyper), og formmekanisme for å bufre (lagre i minne) innhold som gjenbrukes.

PostScript 3 PostScript 3 (Adobe sluttet med terminologien «level» («nivå») for enklere nummerering av versjonene) kom ved slutten av 1997. Det introduserte bedre og mer kompleks fargehåndtering, nye filtre (som gjorde komprimeringer og dekomprimeringer), og avansert feilhåndtering (tidligere utgaver kunne få feil som gjorde at siden ikke ble fortolket, men isteden sprøytet ut ren tekstbasert kode)

PostScript 3 var betydningsfullt i henhold til å erstatte tidligere proprietær elektroniske prepress-systemer for fargehåndtering i printere, i stor grad benyttet for magasinproduksjon. Denne versjonen kom med glatt og jevn operasjoner for farge og tonelegging med opp til 4096 grader av grå (i motsetning til 256 tilgjengelig i PostScript Level 2). Dessuten DeviceN, et «fargerom» som gjør det mulig å benytte rene farger («blekkfarger»/«spot colors») i sider med sammensatte farger.

Trykkeprosessen Før PostScript Før PostScript ble innført var printere konstruert for å skrive ut bokstaver og skrifttegn som ble sendt til den som tekst, ASCII. Det var et antall teknologier for denne oppgaven, men de fleste delte egenskapen at ideogrammer var fysisk vanskelig å endre da de var stemplet i skrivemaskinen eller tastaturets taster, metallbånd eller optiske plater. Grunnet begrensningen i ASCII-tabellens tegnoppsett var det særskilt vanskelig for de nordiske landene å få særnordiske tegn som ØÆÅ ut på printeren uten egne tillegg.

thumb|Typisk resultat fra en matriseskriver hvor bokstaven e er forstørret for vise prikkene den er tegnet opp med. Dette endret seg til en viss grad med den økende populariteten til matriseskriver (nåleskriver). Tegnene på disse systemene ble tegnet opp som en rekke av prikker, definert i en tegntabell innebygget i printeren. Da de ble forbedret begynte matriseskrivere å inkludere flere innebygde fonter som brukeren kunne velge fra, og en del modeller tillot at brukerne lastet opp deres egne egendefinert ideogrammer til printeren.

Matriseskriveren innførte også muligheten å printe rastergrafikk. Grafikken var tolket av PC-en og sendt til printeren som en rekke av prikker som printeren benyttet som en serie av hva som på engelsk kalles «escape sequences. Disse enkle språkene for å kontrollere printeren varierte fra det ene merket og fabrikanten til den andre, noe som krevde egne programmer for de ulike printerne.

For å printe vektorgrafikk måtte det benyttes egne særskilte printere kalt for plottere. Bortimot alle plottere delte et felles kommandospråk, HPGL, men disse kunne ikke gjøre noe annet enn kun å printe grafikk. I tillegg var de kostbare og langsomme, og derfor sjeldne.

Printing med PostScript Laserprintere kombinerte de beste trekkene til både matriseskrivere og plottere. Som plottere kunne laserprintere tilby strekgrafikk i høy kvalitet og som matriseskrivere kunne de frambringe sider med både tekst og rastergrafikk. I motsetning til både matriseskrivere og plottere gjorde laserprinteren det mulig å plassere grafikk og tekst på samme side. PostScript gjorde det mulig å utnytte disse mulighetene ved å tilby et enkelt språk som kontrollerte printeren, uansett hvilken merke eller maskinvare printeren var.

thumb|Bezierkurve, oppkalt etter den franske ingeniøren Pierre Bézier. PostScript gikk hinsides kontrollspråk for printeren og var en komplett programmeringsspråk i egen rett. Mange dataprogrammer kan omforme et dokument til et PostScript-program som ved å bli utført vil resultere i det opprinnelige dokumentet. Dette programmet kan bli sendt til en PostScript-fortolker i en printer som resulterte i et trykt dokument, eller til et i et annet dataprogram som vil vise dokumentet på dataskjermen. Ettersom dokument-programmet er det samme uansett hvor det blir sendt, enten det er til en hvilken som hels printer eller til et annet program, kalles det på engelsk for device-independent, det vil si uavhengig av anordning.

PostScript er bemerkelsesverdig for å innføre direkte rasterisering; alt, selv tekst, er spesifisert i henhold til rette linjer og kubiske bézierkurver, tidligere benyttet kun i dataprogrammer for teknisk tegning (CAD), som tillot vilkårlig skalering, rotering og andre omforminger av objektet. Da PostScript-programmet er tolket, konverterer fortolkeren disse instruksjoner til de prikker som trengs for danne siden på printeren. Av denne grunne er PostScript-fortolkere tidvis kalt for PostScript Raster Image Processors, forkortet til RIP.

Fonthåndtering Før fonter benyttet PostScript-teknologien til å framstille skalerbare og vektoriserte fonter (skrifter) var de raster- eller bitmapbaserte, noe som krevde et sett med fonter for hver skriftstørrelse; en for 11 punkter, en for 12 punker og videre. Det var ressurskrevende, mens man med PostScript-fonter trengte kun et sett som deretter kunne skaleres til alle størrelser. PostScript-fonter var åpenbart teknologisk overlegen.