Ghostscript is
een ongelofelijk veelbetekenend programma voor het afdrukken onder Linux.
De meeste afdruksoftware onder Unix genereert PostScript,
wat typisch een $100 optie voor een printer is.
Ghostscript is echter vrij-verkrijgbaar en zal de taal van je printer
vanuit PostScript genereren.
Wanneer verbonden met je lpd
input filter, geeft het je een virtuele
PostScript printer en vereenvoudigt het 't leven enorm.
Ghostscript is in twee vormen beschikbaar. De commerciële versie van Ghostscript, met de naam Aladdin Ghostscript, mag vrij worden gebruikt voor persoonlijk gebruik, maar mag niet door commerciële Linux distributies worden gedistribueerd. Het loopt gewoonlijk ongeveer een jaar vooruit op de vrij-verkrijgbare Ghostscript; op het moment ondersteunt het bijvoorbeeld veel kleuren inktjets die de oudere Ghostscripts niet ondersteunen.
De vrij verkrijgbare versie van Ghostscript is GNU Ghostscript, en is gewoon een verouderde versie van Aladdin ghostscript aan GNU geschonken. (Roem aan Aladdin voor deze regeling; meer verkopers van software zouden vrije software op deze manier moeten ondersteunen, als het niet mogelijk is dat ze hun geheel ontwikkelde code distribueren).
Wat je ook doet met
gs
, wees er
heel erg zeker van dat je het met de optie voor het deactiveren van
bestandstoegang (-dSAFER
) uitvoert. PostScript is een volledig
functionele taal, en een slecht PostScript programma zou je een aardige
hoofdpijn kunnen bezorgen.
PDF, het Portable Document Format van Adobe is in feite niet veel meer dan georganiseerd PostScript in een gecomprimeerd bestand. Ghostscript kan PDF invoer afhandelen net als het dat met PostScript doet. Dus je kunt de eerste van je groep zijn met een PDF-capabele printer.
Ghostscript zal draaien met wat voor magic filter je ook installeert (ik raad je apsfilter aan als je verkoper je niet iets leverde waar je wat aan hebt), maar voor het opsporen van fouten is het vaak handig het direct uit te voeren.
gs -help
zal een beknopte informatieve lijst met opties en
beschikbare drivers geven (merk op dat dit de lijst met drivers is die is
ingecompileerd, niet de hoofdlijst met alle beschikbare drivers).
Misschien wil je gs wel draaien voor testdoeleinden zoals:
gs options -q -dSAFER -sOutputFile=/dev/lp1 test.ps
.
Er zijn een aantal dingen die je kunt doen als de uitvoer van gs niet naar je tevredenheid is (eigenlijk kun je alles doen wat je maar wilt, aangezien je de source hebt).
De lokatie, grootte en breedte/hoogte-verhouding van de afbeelding op een pagina wordt bepaald door de printer-specifieke driver in ghostscript. Als je bemerkt dat je pagina's er te vroeg afgebroken, of te lang, of te groot met een factor twee uitkomen, wil je misschien eens kijken in de source module van je driver en de parameters erin aanpassen. Helaas is iedere driver anders, dus ik kan je niet echt zeggen wat je aan moet passen, maar de meeste zijn redelijk goed gedocumenteerd.
De meeste niet-laser printers hebben als nadeel dat hun dots nogal groot zijn. Dit resulteert in te donkere afbeeldingen. Als je dit probleem ervaart zou je je eigen transportfunctie moeten gebruiken. Maak gewoon het volgende bestand aan in de ghostscript lib-dir en voeg de naam ervan toe aan de gs call vlak voor het eigenlijke bestand. Misschien dat je de feitelijke waarden aan je printer aan moet passen. Hoe lager de waarde hoe helderder de afdruk. Vooral als je driver gebruik maakt van een Floyd-Steinberg algoritme om kleuren in rasters in te delen, zijn lagere waarden ( 0.2 - 0.15 ) waarschijnlijk een goede keus.
---8<---- gamma.ps ----8<---
%!
%transfer functions for cyan magenta yellow black
{0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
---8<------------------8<---
Het is ook mogelijk printers met wat colour fault te verbeteren door deze waarden aan te passen. Als je iets dergelijks doet, raad ik je aan het bestand colorcir.ps te gebruiken, dat bij ghostscript zit (in de examples/ subdir), als een testpagina.
Voor veel van de nieuwere kleuren-inkjetdrivers bestaan commando-regel opties of verschillende upp driver files, welke gamma en andere wijzingen implementeren om de printer voor verschillende papiersoorten aan te passen. Je zou hiernaar moeten kijken voordat je met Postscript aan de gang gaat om zaken te herstellen.