[ LUGOS ] PS

Metod Kozelj metod.kozelj na rzs-hm.si
Pon Jun 30 09:53:54 CEST 1997


Howdy!

> Hocem spraviti en HP laserJet 4 da bo printal PS datoteke. APS mi 
> sicer dela (grrr...naredi /usr/spool), ampak se mi zdi da je zraven 
> prevec navlake. ez-magicfilter bi bil taprav.
> pravzarav rabim samo raw al pa PS tisk pa se to iz Win95 postaj preko 
> Sambe.
> Bi bilo torej dovolj ce b sam napisal kaksen filter za v printcap, k 
> bi klical gs ?

Ja, to sicer vse v man od printcap pise, ampak na kratko: uporabis opcijo
'if=/path/to/your/filter' in bo tisti servis za vse jobe uporabil ta
filter. Filter je zelo enostavna stvar. Dobi nekaj ukaznih opcij (kaj
konkretno so si poglej v man printcap ali pa man lpd?), orignilano
datoteko dobi na stdin, izhod pa pricakuje na stdout (tega potem poslje na
printer, ki je definiran z lp= poljem). Torej lahko das v skripto nekaj
takega:

#!/bin/sh
gs -q -dSAFER -dNOPAUSE -sDEVICE=ljet4 -r600 -sOutputFile=- - quit.ps


Ce pa bos naredil vec servisov (poleg tega za PS datoteke se enega raw za
PCL), potem je morda bolj spodobno, ce za samo tiskanje uporabljas le en
servis, ostali pa posiljajo svoje izhode temu. Sicer se mi to se ni
zgodilo, ampak mislim pa si, da bi se lahko v kaksnem trenutku zgodilo, da
bi dva servisa hotela tiskati istocasno. Potem naredis takole:

le servisu raw dovolis tiskanje na /dev/lp1 (v princatpu v polju lp=).
Ostalim dopoves, naj 'tiskajo' na /dev/null. Vsem ostalim naredis filtre
(jih itak rabis, ker tudi tekstne datoteke z Unixov ponavadi laserci ne
znajo pravilno tiskati), ki svoj izhod posljejo na prvi servis. Zgornji
primer filtra za PS datoteke bi potem izgledal nekako takole:

#!/bin/sh
gs -q -dSAFER -dNOPAUSE -sDEVICE=ljet4 -r600 -sOutputFile=- - quit.ps | lpr -Praw


Ta druga varianta je sploh edina mozna, ce hoces tiskati na omrezni
tiskalnik, ki recimo ne zna tiskati PostScripta. Ce v printcapu dolocis,
da je dolocen servis remote printer, potem filtrov ne uporabi.


Peace!
  Mkx




Dodatne informacije o seznamu Starilist