printcap


 BACK ..

 Drucker - Konfiguration
 =======================



 siehe "http://www.willemer.de/informatik/unix/unixlpr.htm"



 #------------------------------------------------------------------------------#

 Damit man uebers Netz drucken kann, muss dieser Rechner eine "Erlaubnis"
 bekommen, diese Erlaubnis ist der Eintrag des Hostname in der Datei
 "/etc/hosts.lpd" auf dem Print-Server (wenn es ein Unix-ähnliches System ist):

 vi /etc/hosts.lpd

 alf.melmak.de
 willi.melmak.de

 #------------------------------------------------------------------------------#

 so kann zum Beispiel eine "/etc/printcap" für den Netzwerkdruck aussehen:


 Wenn der Drucker durch einen UNIX-Rechner zum "Netzwerkdrucker" gemacht wird,
 weil der Drucker keine eigene Netzwerkkarte hat,
 dann muss eine zusaetzliche Zeile
   ":rp=lp:\"
 eingefuegt werden! Hier wird der Name angegeben, mit dem der Drucker auf dem
 Server aufgerufen wird.

 ################################################################################
 ######## beginn printcap ######################################################
 ################################################################################
 # Netzwerkdrucker (der Printfilter ist auf dem Printserver installiert)
 #
 # Es ist natürlich auch hier möglich ein "if="-Kommando einzufu:hgen.
 # Das macht aber nicht immer sinn.
 #
 # Markant für diese Printcap sind die folgenden beiden Zeilen:
 #   :rm=printserver:\
 #   :rp=lp:\
 ################################################################################
 lp|remote line printer:\
     :lp=:\
     :rm=printserver:\
     :rp=lp:\
     :sd=/var/spool/lpd/lp:\
     :lf=/var/spool/lpd/lp/log:\
     :af=/var/spool/lpd/lp/acct:\
     :mx#0:\
     :sh:
 ################################################################################
 ######## ende printcap ########################################################
 ################################################################################



 Jetzt müssen noch das Spoolverzeichnis angelegt werden:
 -------------------------------------------------------
 # mkdir -p /var/spool/lpd/lp
 # touch /var/spool/lpd/lp/log
 # touch /var/spool/lpd/lp/acct



 #------------------------------------------------------------------------------#



 Wenn der Netzwerkdrucker kein PostScript beherschen, muss das Kommando "if"
 in der PRINTCAP verwendet werden um den PostScript-Code für den Drucker
 aufzuarbeiten.
 Soein Filter kann mit dem Paket MAGICFILTER oder APSFILTER installiert werden.
 (siehe unter "Software" den Punkt "MAGICFILTER" oder "APSFILTER")


 so kann zum Beispiel eine "/etc/printcap" für den lokalen Druck aussehen:

 ################################################################################
 ######## beginn printcap ######################################################
 ################################################################################
 # lokaler Drucker (hier ist ein Printfilter meistens nötig)
 #
 # In diesem Fall wurde "Magicfilter" installiert
 # und davon ein Filter (für einen LaserJet 4) eingebunden.
 ################################################################################
 lp|ljet4|local line printer:\
     :lp=/dev/lpt0:\
     :if=/usr/local/libexec/magicfilter/ljet4-filter:\
     :sd=/var/spool/lpd/ljet4:\
     :lf=/var/spool/lpd/ljet4/log:\
     :af=/var/spool/lpd/ljet4/acct:\
     :mx#0:\
     :sh:
 ################################################################################
 ######## ende printcap ########################################################
 ################################################################################



 Jetzt müssen noch das Spoolverzeichnis angelegt werden:
 -------------------------------------------------------
 # mkdir -p /var/spool/lpd/ljet4
 # touch /var/spool/lpd/ljet4/log
 # touch /var/spool/lpd/ljet4/acct



 #------------------------------------------------------------------------------#



 Es ist auch möglich, sich selbst soeinen Filter zu schreiben, das ist garnicht
 so schwer.


 Als erstes muss GhostScropt installiert werden:
 -----------------------------------------------
 # cd /usr/ports/print/ghostscript-gnu && make install && make clean


 Jetzt können wir unseren Filter schreiben,
 ein einfacher zweizeiler recht schon.
 In diesem Fall für einen ljet4:
 -------------------------------
 # vi /usr/local/printfilter/ljet4filter
         #!/bin/sh
         /usr/local/bin/gs -q -sDEVICE=ljet4 -sPaperSize=a4 -dNOPAUSE -dBATCH -sOutputFile=- -


 nicht vergessen, die Datei muss ausführbar sein:
 ------------------------------------------------
 # chmod 755 /usr/local/printfilter/ljet4filter


 siehe auch "http://www.ghostscript.com/doc/printer.htm"
 und        "http://www.linuxprinting.org/printer_list.cgi"


 hier ein paar Beispiele:
 ------------------------

     HP LaserJet 2100
     ----------------
     - ljet4 (PCL5: 600 dpi)     (von mir aktuell genutzt)
     - pxlmono (PCL6: 1200 dpi)
     - lj5gray (PCL6: 1200 dpi)
     - lj5mono (selten erwähnt)
     - pxlcolor (selten erwähnt)

     HP DeskJet 890C / OfficeJet G85
     -------------------------------
     - hpijs
     - cdj890
     - Gimp-Print
     - andere cdjXXX-Treiber
     - pcl3-Treiber
     - cdj550.upp                (von mir Jahre lang betrieben)



 #------------------------------------------------------------------------------#



 Jetzt sollten alle Anwendungen direkt auf den Drucker drucken koennen, will man
 allerdings eine Textdatei direkt von der Konsole aus drucken, dann muss diese
 am besten in PostScript-Code umgewandelt werden, da unser Drucksystem damit am
 besten druckt und PostScript ist auch der vielseitigste Code. Man kann ihn z.B.
 in eine Datei drucken und mit GhostScript ansehen oder ihn mit GhostScript in
 eine PDF-Datei umwandeln.
 Verwenden Sie den folgenden Befehl um zwei Seiten auf einem Blatt mit einem Kopf
 auszudrucken:
 a2ps -P lp [Textdatei.txt]

 Wollen Sie den Text "blank" eins zu eins ohne extras ausdrucken, dann verwenden
 Sie den folgenden Befehl (70 Zeilen je Seite):
 a2ps -P lp -B -1 --borders=no [Textdatei.txt]

 Wollen Sie ein Ergebnis dazwischen, dann lasse sie den entsprechenden Parameter
 des letzten Befehles einfach weck. Um acht seiten je Blatt zu drucken geben Sie
 zum Beispiel "-8" an Stelle von "-1" ein und um alle Blaetter dreifach
 auszudrucken, fuehgen Sie den Parameter "-n 3" einfach an.
 Mehr infos unter "a2ps --list=defaults" und "man a2ps".
 Eine gute Hilfe ist mit "info a2ps" und ein "ENTER" auf die Options-Rubrik
 verfuehgbar.

 Ins PDF-Format werden Textdateien (ASCII-Dateien) mit dem folgenden Befehl
 umgewandelt, dann sind sie mit dem Acrobat-Reader lesbar.
 ascii2pdf [Textdatei.txt]

 PS-Dateien (PostScript-Dateien) werden mit dem folgenden Befehl ins PDF-Format
 umgewandelt, dann sind sie mit dem Acrobat-Reader lesbar.
 ps2pdf [PostScriptDateien.ps]

 PS-Dateien werden unter UNIX von jeder druckenden Anwendung erzeugt, man kann
 sie abspeichern, in dem man z.B. im Netscape oder in StarOffice auf Drucken
 klickt und in eine Datei (z.B. testdruck.ps) drucken laesst.
 Das ist die einfachste moeglichkeit *.pdf-Dateien zu erzeugen.


   [IMG]