teejuht
1.
|
Sissejuhatus |
2.
|
PostScript (PS) |
3.
|
GhostView (GV) |
4.
|
TeX |
5.
|
Printimine ja GhostScript (GS) |
6.
|
Windows'i masinatest üle samba linuxi printerile trükkimine |
Kui inimene midagi arvutiga teeb, siis on suur tõenäosus,
et mingi osa tema pingutustest leiab tee paberile. Vähemalt ta soovib
seda. Praktiliselt võetakse nt. StarOffice lahti ja kirjutatakse
midagi ja siis prinditakse ning kujutis on paberil olemas. Puudutame põgusalt
probleeme mida Linux'i alt printimisel kohtab.
Mõnikord tõuseb õigustatud küsimus, et ma tegin kodus faili valmis (nt. Gimp'iga) ja soovin seda kuskil mujal trükkida; seal trükkimise kohal ei pruugi aga Gimp'i olla. Ma ei taha teha hiljem kohapeal (st. printeri juures) korrektsioone.
Mida siis teha?
Sellisel juhul tuleb kodus loodud fail salvestada erilisse formaati
- nn. PostScripti (PS; tavaliselt on see File -> Print all). PS on info
hoidmise standard ja põhimõtteliselt peaksid kõik
PS printerid või PS'i emuleerima pandud printerid andma paberile
sama tulemuse.
Kui näiteks keegi on kirjutanud raamatu, siis oleks loomulik,
kui ta levitab seda ja kasutab PS formaati. Standard on seda parem mida
vähem neid on. Ma ei saa aru miks tehti PDF (Portable Document Format)
kui PS juba olemas on.
Toome siinkohal ühe näite selle kohta milline kood vastab
PostScript failis ristkülikule:
Hea, et PS pole täitsa ära krüpteeritud :)
Ja enamus linux'i rakendusi võimaldavad printida faili kasutades PS fomraati. Märgime, et kui suvalisest formaadist PS-i tegeijaid programme on palju ei ole sugugi nii lihtne nt PS failist teha tagasi seda mis ta esialgselt oli.
PS faile reeglina küll ei redigeerita (va. nt. kiledele trükkimisel mirror'damine, landscape ja portrait'i vahtamine, paaris ja paaritute lehtede vaheldumisi trükkimine, 10 % võrra laiuse kokku muljumine).
Küll aga on mõeldud välja tarkvara, millega saab PS
faile enne trükkimist vaadata - GV. Tavaliselt töötavad
GV asjad X-i all.
GhostView-isid on olemas erinevatele ploatvormidele ja linuxile
on neid omakorda mitu:
GNU GV
Alladin GV
mõlemad saab kätte: www.cs.wisc.edu/~ghost
Need on sarnased programmid on mõeldud teksti loomiseks(nagu teksti programmeerimine umbes). Ja TeX-i vahendid annavad produktiks PS formaadis faili.
Katke LaTeX-i koodist:
5. Printimine ja GhostScript (GS)
Printimise eesmärgiks on saada mingi kujutis paberile. See võib olla kas tekst, pilt, joonis; mustvalge või värviline. Printerid jagunevad tehnoloogiliselt kolme klassi:
maatriks-,
laser-,
tindi-
printerid.
Loogiliselt võiks nad jagada kahte klassi:
- mittePostScript (nt. PCL)
- PostScipt
printerid
Kindasti võib neid ka klassifitseerida kui mustvalgeid ja värvilisi, sellejärgi kas ümmardatud hind on paaris või paaritu arv jne.
UNIX'i maailmas on õige printer PostScript. See tähendab seda, et printer mõistab PostScript (PS)keelt. Teatavasti liigub info arvuti paralleelpordist printerisse kui järgnevus elektrisignaale. PS on üks võimalikest (PLC on Windowsi maailmas levinud) signaali kodeeringutest.
PS keeli on ka mitut varianti, kuid nad on vähem-rohkem omavahel kompatiiblid.
Oletame, et teil on Helwett-Packard Laser Jet 5L printer ja linuxi masin ja .ps fail ning soovite seda trükkida. Selleks on vaja läbi viia järgmised sammud:
Tavalise ascii trükkimine:
Esialgu vaadake, kas saate tavalist ascii-d trükkida:
1. installeerige A seeriast bsdlpr.tgz package. Tehke seda pkgtools'i abil. Ei ole hea mõte juba töötavale ja konfitud arvutile A seeriat uuesti selga installeerida, kuigi see on praktiliselt võimalik. Äkki on see juba installitud: kas on olemas käsk lpr, lpq ?
A
kopka:~# cat > /dev/lp1
tere imre
^L
^D
bash #
^L on vajalik, et printer liigutama hakkaks :)
2. Looge selline fail:
/etc/printcap
ja sellise sisuga:
1. lp:\
2.
:lp=/dev/lp1:\
3.
:sd=/var/spool/lp1:\
4.
:mx#0:\
5.
:if=/var/spool/lp1/hpjlp:\
6.
:lf=/var/spool/lp1/hp-log:sh
Selgitus:
1. resursi nimi mida lpr käsk võtmena kasutab
2. device'i nimi kus printer füüsiliselt taga on (veenduge,
et see oleks olemas /dev kataloogis, lp - line printer)
3. spool directory (sd) - veenduge, et see on olemas, vajadusel looge,
arvestage ka õigusi
4. ütleb, et trükitav fail võib olla kui tahes suur
5. see on nn. filter fail (vt. all pärast) - sisaldab printerile
olulisi korraldusi a la 'lase tühi leht enne välja
6. sinna faili saadetakse logging (nt. veateated), see fail tekitage
aga täitmise eest hoolitseb süsteem ise
fail /var/spool/lp1/hpjlp
#!/bin/sh
# if: filter for HP to switch
LF to CR,LF
# The "echo -ne" assumes that
/bin/sh is really bash
echo -ne \\033\&k2G
cat
echo -ne \\f
#echo -ne \\033\&k0G
# end of hpjlp
Kui need failid on loodud, siis katsetage trükkida:
bash # lpr -Plp /etc/fstab
bash #
Kui ta nii töötab, siis vähemalt tekstirezhim töötab
Täpilisi tähti nii ei saa, vist.
PostScripti trükkimine
Et teha postscripti peate te lisaks installeerima GhostScript'i package, nt: www.cs.wisc.edu/~ghost
1. Ilmselt peate te ta ka ise ära kompilleerima ja uurima README ja INSTALL ja mis seal parasjagu on faile, kas teie konkreetse printeri jaoks on toetus olemas. Selle kavala programmi mõte on see, et ta hakkaks tema sisendisse antud PS-i muutma teie printerile arusaadavas keeles baidijadaks (nt. PCL keel). LJ 5L -i jaoks sobib ka gs-i 4L'i driver.
Kui olete ara installeerinud siis peaks teil tekkima juurde käsk
gs ('man gs' sealhulgas). Kontrollige.
Ja kasutamine on selline (gs tuleb kaasa ka vist kümmekond näite
.ps (st. PostScript pilti, proovige neid):
2. Proovige nüüd trükkida trükkida:
gs -dSAFER -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=/dev/lp1 tiger.ps
te saate ette pärast GV> prompti kust saab ära 'quit'-iga
3. Kui soovite trükkida ka programmide seest, siis peate lisama oma /etc/printcap'i järgmise lõigu (ehk veel nii, et see jääb esimeseks):
ps:\
:lp=/dev/lp1:\
:sd=/var/spool/lp1:\
:mx#0:\
:if=/var/spool/lp1/hpjps:\
:lf=/var/spool/lp1/hp-log:sh
kusjuures fail hpjps on selline:
#!/bin/sh
# if: filter for .ps on HP
laserjet w/o postscript
# Adjust -sDEVICE to your printer
type
# 'gs -?' will show available
sDEVICE drivers
gs -q -dSAFER -dNOPAUSE -sDEVICE=ljet4
-sOutputFile=- -
# end of hpjps
proovige nüüd trükkida nii:
bash # lpr -Pps tiger.ps
4. Muud olulised käsud:
lpq - näitab mida parasjagu trükite
lprm - eelmise käsu nimekirja job'i kustutamine
5. Trükkimine Netscape'ist:
seadke File -> Print -> Print Command'i kasti:
lpr -Pps
6. Trükkimine StarOffice'st:
seadke failis xp3/Xpdefaults
sektsioonid
[devices]
Generic PostScript Printer=GENERIC
PostScript,default_queue
[ports]
default_queue=lpr -Pps
[windows]
device=Generic PostScript Printer,GENERIC
PostScript,default_queue
vaadake ka muud üle.
6. Windows'i masinatest üle samba linuxi printerile trükkimine
1. Konfigureerige samba printerit jagama (tehke/kommenteerige väja
selline share).
2. Vaadake, et Windows näeb võrku ja samba't ja siis installeerige
Windows'ile Add Printer'iga vastava (LJ) printeri soft (olles talitanud
nagu üleval, siis valige Windowsi printeriks lp, see on nö. toores).
3. Tulemusena käivitage mõni Windowsi programm ja valides
tolle seest õige printeri trükkige sinna peale mida iganes.
Kõik peaks töötama!
Idee seisneb selles, et kui olete samba ja Windowsi õieti konfinud, siis Windows ei peaks samba olemasolust midagi aimama, tema trükib lihtsalt ühele võrgu printerile ja kõik.
vastav sektsioon smb.conf failis
[printers]
comment = All
Printers
path = /tmp
browseable = no
# Set public = yes to allow
user 'guest account' to print
guest ok = yes
writable = no
printable = yes
public = yes
hhh