• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Matrix Drucker unter CUPS

Ich habe auf einem SLES9 Server CUPS zum Drucken laufen.
Ich muss einen Matrix Drucker für den Ausdruck von Listen und Packetaufkleber an diesem Server betreiben.
Wenn ich diesen Drucker (über Printbox via TCP/IP) mit lokalem Filtern betreibe, erhalte ich immer Grafikdruck (der übel aussieht und der Ausdruck dauert viel zu lange).
Ohne lokales Filtern habe ich Probleme mit dem Zeichensatz (keine dt. Umlaute).
Ich habe im Internet gesucht, und dort ein Script gefunden, wie man bei ASCII Druck die Postscript Aufarbeitung umgehen kann und mit recode den Zeichensatz konvertieren kann:
/usr/lib/cups/filter/TextToPrinter mit folgendem Inhalt:
#! /bin/bash
# see http://localhost:631/spm.html#WRITING_FILTERS
# debug info in /var/log/cups/error_log
set -x
# have the input at fd0 (stdin) in any case
[ -n "$6" ] && exec <"$6"
# carriage return before printing
echo -en "\r"
# printing
recode "lat1..IBM-PC"
# form feed after printing
echo -en "\f

In /etc/cups/ppd/EPSON.ppd ist noch folgende Änderung notwendig: Nach der Zeile
*cupsFilter: "application/vnd.cups-postscript 0 foomatic-rip"
fogendes eingefügen:
*cupsFilter: "text/plain 0 TextToPrinter"

Das funktioniert auch soweit. Wenn jedoch meine zu druckende Datei 0D hex beinhaltet, kommt nichts aus dem Drucker heraus. Entferne ich alle 0D hex (Carrage Return) aus der Datei, dann wird sie korrekt ausgedruckt.
Kann mir jemand helfen, wie ich mittels obigem Script automatisch die 0D hex entferne oder hat jemand noch eine bessere Lösung. Bitte dran denken, ich bin ein Einsteiger im Script Programmieren. Danke.
 
Oben