0. Informacje

Ten tekst opisuje, jak zainstalować program pbm2ppa napisany przez Tima Normana
w systemie S.u.S.E Linux System. Ten program wykorzystuje GDI (dla Windofsow)
dając możliwość korzystania z drukarki w systemie Linux. Aktualnie program jest
konwerterem pomiędzy formatem PBM (np. tworzonego przez GhostScript) a formatem
PPA zjadliwym dla win-drukarek z serii 710/720, 820 i 1000.
	Do druku najwygodniej jest używać GhostScripta, któremu zlecamy zrobienie
pliku pbmraw (może też być pbm, ale za to wolniej będzie się to drukować).

	Z drukowaniem samego tekstu jest roboty. Z racji tego, że drukarka go
nie zrozumie musimy zamienić tekst na format postscript i zrobić jak napisałem
akapit wyżej. Zamiany tekstu ascii na postscript wykonuje program enscript.

Nie jest to proste ale nie panikuj. Autor dla wygody stworzył dwie drukarki
w spoolers (nie będę się męczył aby to przetłumaczyć...), jedną dla plików
ps, drugą dla plików ascii. Instalacja tego ustrojstwa to tylko 7 kroków.

1. Instalacja pakietu ppa-0.8.5

Pobierz pakiet ze strony http://www.rpi.edu/~normat/technical/ppa/ i skąpiluj
wpisując:

# make XXX

(gdzie XXX to numer twojej win-drukarki, czyli 720,820 lub 1000. Jeśli masz drukarkę
z serii 710 to użyj opcji dla 720-stki. U mnie działa...)


2. Ustaw papier na A4 używając opcji -s A4 w programie pbm2ppa lub w pliku
pbm2ppa.conf wpisz "papersize a4" (patrz też pkt.5)


3. Kalibracja.

Dla rozmiaru US wpisz
# pbmtpg | pbm2ppa > /dev/lp1 ( jako root )
Dla rozmiaru A4 wpisz
# pbmtpg -a4 | pbm2ppa -s a4 > /dev/lp1 ( jako root )


4. Teraz możesz drukować pliki postscript używając następującego pliku shella:

cat $1 | gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
pbm2ppa - - >/dev/lp0

Jeśli zapiszesz to w pliku "print" (po oczywistej zmianie - chmod 755 print) możesz
już drukować pliki ps wpisując

# print nazwapliku.ps

Jeśli zależy Ci na drukowaniu plików ascii to przepisz ten skrypt:

enscript -2rj -p- $1 | \
gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
pbm2ppa - - >/dev/lp1

Jeśli zapiszesz to w pliku "printascii" (po oczywistej zmianie - chmod 755 print)
możesz już drukować tekst wpisując:

# printascii nazwapliku.ascii

(Uwaga: Parametry w tym skrypcie dla enscript są ustawione na drukowanie tekstu w
dwóch kolumnach. Więcej informacji dotyczących konwersji ascii->ps przeczytasz w
instrukcji programu enscript.)

5. Możliwe, że powinieneś przekalibrować swoją drukarkę (patrz pkt.3)

Oto instrukcje w jaki sposób ustawić drukarkę aby poprawnie drukowałą pliki ascii
przy użyciu skryptu printascii (patrz pkt.4)
Program pbm2ppa pobiera argumenty w podanej kolejności:

a) z lini poleceń
b) z pliku konfiguracyjnego /etc/pbm2ppa.conf
c) z ustawień w pliku nagłówkowym "default.h"

Najwygodniejszym rozwiązaniem jest odpowiednia zmiana pliku konfiguracyjnego.
Oto przykład jak to zrobić (/etc/pbm2ppa.conf):

# Przykładowa konfiguracyjna dla HP720 i papieru A4
#

version  720

papersize	a4

xoff      0 # \ Ustaw to dla swojej drukarki.
yoff    -600 # / (patrz plik KALIBRACJA)

# 1/4 cala marginesu z każdej strony (dla 600 DPI)
# możesz wpisać swoje wartości...
top       50
bottom    50
left      50
right     50

6. Aby zescalić konwerter z systemem Linux tworzymy dwie drukarki w pliku
/etc/printcap. Jedna z nich obsługuje postscript, druga pliki ascii.

Oto co wpisać do pliku /etc/printcap:


lp:\
        :lp=/dev/lp1:\
        :sd=/var/spool/lpd/lp:\
        :lf=/var/spool/lpd/lp/log:\
        :af=/var/spool/lpd/lp/acct:\
        :if=/usr/local/bin/ps.if:\
        :la:mx#0:\
        :sh:sf:

ascii:\
        :lp=/dev/lp1:\
        :sd=/var/spool/lpd/ascii:\
        :lf=/var/spool/lpd/ascii/log:\
        :af=/var/spool/lpd/ascii/acct:\
        :if=/usr/local/bin/ascii.if:\
        :la:mx#0:\
        :sh:sf:

Teraz trochę wyjaśnień. Używamy standartowo portu /dev/lp1. Wykorzystujemy również
katalogi /var/spool/lpd/ascii oraz /var/spool/lpd/lp (najlepiej stwórz je teraz).
Aby połączyć konwerter pbm2ppa z systemem stworzyliśmy dwa filtry. Aby zaczęło to
działać należy jeszcze stworzyć dwa pliki:

Plik /usr/local/bin/ascii.if:

#! /bin/sh
enscript -2rj -p- | \
gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
/usr/local/bin/pbm2ppa - -


Plik /usr/local/bin/ps.if:

#! /bin/sh
gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
/usr/local/bin/pbm2ppa - -


7. Przekopiować program pbm2ppa do /usr/local/bin. Teraz aby wydrukować plik wpisz:

# lpr nazwapliku.ps

lub

# lpr -P ascii nazwapliku.ascii

I to na tyle.


19. May 1998

Michael Buehlmann
Badenerstrasse 285
8003 Zuerich
Switzerland

mbuehlma@stud.ee.ethz.ch

Tłumaczenie Tomasz Patora
<tpatora@zly.kis.p.lodz.pl>



























