Het probleem met printer is grotendeels dat ze eigenlijk geen vanallen de zelfde taal spreken . Indenbeginne spraken ze allemaal alleen maar ASCII code , eventueel met enige toevoegingen . Maar alles was hardware afgebeeld in de character 32-126 (eventueel 128-255) en dat was het dan .
Maar met de komst van matrixprinter gevolgd door laser printer en color printers dachten een heleboel fabriekanten maar eens weer een nieuwe code te moeten gaan maken . Dit kwam omdat opdeze manier graphische afbeeldingen konden worden geprint . Daartoe is een of andere rasterriseerings techniek nodig .
Nu ja dan bedenken we toch allemaal onze eigen betere rastertechniek , betergezegd gekopere techniek . Want er was al geruimetijd een beschrijvings taal voor een rastertechniek n.l. Postscript . (Later door Adobe verheven tot PDF) .
In Linux wordt er van uitgegaan dat te printen documenten in postscript formaat staan . Alle programma's zoals Abiword en Firefox geven voor de printer een bestand in postscript formaat (.ps) . Postscript zelf is een (voor mij) onduidelijk programeerachtige taal en als zodanig gewoon leesbaar in plain ascii .
Het grootste probleem nu is om het Postscript formaat te vertalen naar jouw printer . Of andersom gezegd is er voor jouw printer een script om postscript te vertalen . In Linux wordt hiervoor gebruik gemaakt van Ghostscript (gs) een nieuwere versie hiervan heet Gutenprint . Dit gs leest een postscript bestand , rasterriseerd het en dumpt het raster in het gewenste formaat dat jouw printer begrijpt . Omdat er aldoor maar meer printer kwamen heeft men gs uitgebreid met de mogelijkheid van een vorm van plugin . De twee meest bekenden zijn hpijs(HP) en ijsgimpprint(Epson,Lexmark,Brother,e.d.) .
Naast dat gs een plugin heeft kent het zelf ook nog een heleboel (soms
merkwaardig tegenstrijdige) opdrachten .
Een enkele zal ik hier vermelden :
-dPDFFitPage zorgt ervoor dat een pdf pagina zo wordt gescalled dat die op je papier past . Het blijkt voortekomen dat sommige pdf bestanden vreemde papier formaten hanteren
-dpapersize=a4
leuk maar dit blijkt niet altijd tewerken daar ps het kan overschrijfen
. Je moet echt het config bestand wijzigen ! (In
/usr/share/ghostscript/8.51/lib/gs_init.ps staat een regel met a4 als
default , verwijder het commentaar teken)
Printer script : script
Printen m.b.v Samba : Om met Samba te kunnen printen moet je in de config van samba de printer opgeven .
In /etc/samba/smb.conf staat een regel printing = maak hiervan printing = lpm %p %s & .
%p geeft de printernaam en %s de te printen bestand . Zorg voor &
teken dat wil zeggen doe de opdracht in de achtergrond . Samba wil
binnen gemiddeld 2 sec een melding hebben dat de opdracht is uitgevoerd
. Zoniet dan stuur Samba de opdracht no een keer . Zo kun je ongewenst
meerdere copieen van je uit te printen bestand krijgen .
Zoals het script nu geschreven is wordt op de client het rekenwerk
gedaan en een printer-eigen bestand m.b.v. samba overgestuurd .Dit is
iets wat in MSWindows moet . Maar Linux zou je ook het reken werk over
kunnen laten aan de server , dan moet moet je voor een netwerk printer
gewoon het bron bestand oversturen . (Het verschil tussen een
printer-eigen bestand en een b.v. pdf bestand kan wel een factor 1000
in grote zijn .)
Goed ik weet wel dat de meeste gebruikers de makelijker weg kiezen m.b.v.
CUPS of PDQ . Daar is ook niets mis mee , maar ik dacht daar de meeste mensen
maar 1 printer hebben , het mogelijk is om het wat kleiner te krijgen . Wel
blijft het probleem om voor jouw printer de goede printer instellingen te
vinden . Probeer voor je printer een PPD bestand te vinden (hier een voorbeeld : hppsc1200.ppd
) hierin staan opdrachten welke je moet geven aan gs om tot de juiste
conversie te komen . Maar puzzellen en proberen blijft het wel een
beetje .
Heb je hierwat aan gehad mail mij dan maar eens .