Printen

Inhoud


Inleiding

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 :

Printing Script

geen plaatje

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 .)

Uitleiding

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 .