PrintMulti mit CUPS ablösen?
Hallo in die Runde,
für die Druckaufträge habe ich PrintMulti eingerichtet damit Aufträge mit einem Rutsch auf zwei verschiedenen Druckern und in verschiedener Anzahl gedruckt werden können. Problem dabei, oder besser das unelegante daran ist, das es auf einem User PC läuft der dann auch immer an sein muss. Das tolle und einfache daran ist das ich vier verschiedene Virtuelle Drucker habe und die User mit einem Klick die Dokumente in erfordertet Anzahl und auf dem passenden Papier in der Hand haben.
http://www.lvbprint.de/html/printmulti.html
Ich würde gerne eine kleine Kiste wie den raspberry pi dafür missbrauchen, mit einem schmalen Linux, aber das scheint nicht so einfach zu sein, denn PrintMulti stellt ja anscheinend einen eigenen Print Prozessor zur Verfügung während CUPS nur die Anschlüsse für die Drucker im Netz bereit stellt? Oder hab ich das falsch verstanden...
Grüße Malte
für die Druckaufträge habe ich PrintMulti eingerichtet damit Aufträge mit einem Rutsch auf zwei verschiedenen Druckern und in verschiedener Anzahl gedruckt werden können. Problem dabei, oder besser das unelegante daran ist, das es auf einem User PC läuft der dann auch immer an sein muss. Das tolle und einfache daran ist das ich vier verschiedene Virtuelle Drucker habe und die User mit einem Klick die Dokumente in erfordertet Anzahl und auf dem passenden Papier in der Hand haben.
http://www.lvbprint.de/html/printmulti.html
Ich würde gerne eine kleine Kiste wie den raspberry pi dafür missbrauchen, mit einem schmalen Linux, aber das scheint nicht so einfach zu sein, denn PrintMulti stellt ja anscheinend einen eigenen Print Prozessor zur Verfügung während CUPS nur die Anschlüsse für die Drucker im Netz bereit stellt? Oder hab ich das falsch verstanden...
Grüße Malte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219877
Url: https://administrator.de/contentid/219877
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
13 Kommentare
Neuester Kommentar
Zitat von @themuck:
Ich würde gerne eine kleine Kiste wie den raspberry pi dafür missbrauchen, mit einem schmalen Linux, aber das scheint
nicht so einfach zu sein, denn PrintMulti stellt ja anscheinend einen eigenen Print Prozessor zur Verfügung während CUPS
nur die Anschlüsse für die Drucker im Netz bereit stellt? Oder hab ich das falsch verstanden...
Ich würde gerne eine kleine Kiste wie den raspberry pi dafür missbrauchen, mit einem schmalen Linux, aber das scheint
nicht so einfach zu sein, denn PrintMulti stellt ja anscheinend einen eigenen Print Prozessor zur Verfügung während CUPS
nur die Anschlüsse für die Drucker im Netz bereit stellt? Oder hab ich das falsch verstanden...
man kann in CUPS vershieden backends und "printprozessoren" dranklatschen., so daß Du z.b. PCl auf Postcript-Druckern oder Postcript auf PCL-Druckern oder beides auf Nadeldruckern ausgeben kannst.
Man kann da sehr vieles machen, ich habe da z.B. bei einem Kunde einen mehrere print-verdoppler laufen. Eine druckerqueue gibt Aufträge auf zwei Druckern aus, eine andere druckt den Auftrag einmal aus dem einen Druckerschacht udn einmal aus dem anderen Druckerschacht, weil die Warenwirtschaft des Kunden das nicht kann.
Ich benutze zwar ein linux (debian) in einer HyperV-VM dafür, sollte aber prinzipiell mit einem raspi auch gehen.
lks
Ein ausführliches Tutorial mit allen Erklärungen zur Installation auf dem Raspberry findest du hier:
https://www.heise.de/artikel-archiv/ct/2013/14/166_Pi-macht-Druck
Damit lassen sich deine Anforderungen problemlos umsetzen.
https://www.heise.de/artikel-archiv/ct/2013/14/166_Pi-macht-Druck
Damit lassen sich deine Anforderungen problemlos umsetzen.
Zitat von @themuck:
Hallo,
danke für die Antwort, das hört sich super an... hast du eine Doku oder ein Tutorial, so richtig hab ich noch nichts
gefunden. Das was du bei dem Kunden umgesetzt hast geht ja genau in die Richtung... nur das wir keine 2 schächte sondern 2
Drucker da stehen haben... na ich werde mich mal dran versuchen... zumindest hört es sich umsetzbar an
Hallo,
danke für die Antwort, das hört sich super an... hast du eine Doku oder ein Tutorial, so richtig hab ich noch nichts
gefunden. Das was du bei dem Kunden umgesetzt hast geht ja genau in die Richtung... nur das wir keine 2 schächte sondern 2
Drucker da stehen haben... na ich werde mich mal dran versuchen... zumindest hört es sich umsetzbar an
2 (oder mehr) Drucker geht relativ einfach. Du legst die Zieldrucker an und machst dann einen neuen Drucker, den Du "freigibst", der einfach seine Ausgaben auf die anderen Zieldrucker raushaut. Wie es genau im Detail war, kann ich dir nciht auswendig sagen, aber ich schau nachher mal nach. Es war ziemlich "straightforward".
Kann CUPS auch PDFs mit Wasserzeichen erzeugen, also das auf einen Briefbogen gedruckt wird?
Mit cups-pdf geht das. einfach mit google nach cups-pdf und watermark suchen. dann findet man z.B. Watermarking printouts in the Linux world oder PDF mit Wasserzeichen erstellen und anderes.
Wie man den RasPi einrichtet, hat aqui schon ausführlich dargelegt. Da das ein standard-debian ist, funktiniert das cups genauso wie auf den "großen" Kisten. zur Not reicht auch ein server, auf dem eien kleine linux-VM mitläuft.
lks
Edit: Typo & Ergänzung
Moin,
Übrigens: Das Forum kennt code-tags, die das Lesen etwas vereinfachen.
Hab ich versucht umzusetzen es fehlte aber das Verzeichnis etc/cups/interfaces/ hab ich angelegt...
das Script wird auch kopiert aber es gab eine Fehlermeldung beim Drucker... also in der /etc/cups/cups-files.conf folgendes
geändert...
das Script wird auch kopiert aber es gab eine Fehlermeldung beim Drucker... also in der /etc/cups/cups-files.conf folgendes
geändert...
- Do we allow file: device URIs other than to /dev/null?
/etc/cups/interfaces/2BBrief: Permission denied kommt als fehle im log und es wird nicht gedruckt...
Prüfe mal den owner und die group.
im Webinterface steht
gestoppt
"/etc/cups/interfaces/2BBrief failed"
ändere ich die rechte...
Unable to execute /etc/cups/interfaces/2BBrief: insecure file permissions (0100777)
gestoppt
"/etc/cups/interfaces/2BBrief failed"
ändere ich die rechte...
Unable to execute /etc/cups/interfaces/2BBrief: insecure file permissions (0100777)
Eventuell nciht die Rechte, sondern eher owner/group ändern.
#!/bin/sh
/usr/bin/lp -dBriefpapier $6
Nun komme ich nicht mehr weiter :/...
- if you don't have bash, use /bin/sh
- don't leave off the first line - absolutely needed for cups!
/usr/bin/lp -dBriefpapier $6
Nun komme ich nicht mehr weiter :/...
Sieht imho o.K. aus.
irgendwas passt mit den rechten anscheinend nicht...
Mach mal ein "ls -lsaF" auf das Verzeichnis und poste das ergebnis.
lks
PS. Wenn die Kiste natürlich noch RIP spielen muß, sollte sie einen ordentlichen Prozessor haben, Sonst wartet man ewig.
Moin,
habe mal gerade nachgeschaut.
Das backend liegt bei mir in :
Die Berechtigungen sind:
Die Datei selbst ist
Das habe ich mal vor Jahren schnell als Provisorium "hingerotzt" und da es sich als stabil erwies läuft es immer noch.
lks
habe mal gerade nachgeschaut.
Das backend liegt bei mir in :
/usr/lib/cups/backend/l-liefer-doppel
/usr/lib/cups/backend-available/l-liefer-doppel
Die Berechtigungen sind:
drwxr-xr-x 2 root root 4096 2013-01-22 12:13 /usr/lib/cups/backend/
drwxr-xr-x 2 root root 4096 2013-01-22 11:52 /usr/lib/cups/backend-available/
-rwxr-xr-x 2 root root 791 2013-01-22 12:13 /usr/lib/cups/backend-available/l-liefer-doppel
-rwxr-xr-x 2 root root 791 2013-01-22 12:13 /usr/lib/cups/backend/l-liefer-doppel
Die Datei selbst ist
#! /bin/bash
# Have debug info in /var/log/cups/error_log:
set -x
# Output "device discovery" information on stdout:
if test "$#" = "0"
then echo 'direct l-liefer-doppel "Unknown" "l-liefer-doppel:/"'
# then echo 'network mysocket://192.168.1.2:9100 "Unknown" "192.168.1.2:9100"'
exit 0
fi
# Set INPUTFILE to where the input comes from:
INPUTFILE="-"
if test -n "$6"
then INPUTFILE="$6"
fi
# Send the data to the remote port:
# echo 'INFO: sending data to 192.168.1.2:9100' 1>&2
DATUM="`date +%F.%T.%N`"
echo $DATUM
echo 'INFO: sending data to temp-file' 1>&2
if cat $INPUTFILE >/tmp/$DATUM
then echo 'INFO:' 1>&2
lpr -P l-liefer-3 /tmp/$DATUM
lpr -P l-liefer-2 /tmp/$DATUM
exit 0
else echo 'ERROR: failed writing to /tmp/' $DATUM 1>&2
exit 1
fi
Das habe ich mal vor Jahren schnell als Provisorium "hingerotzt" und da es sich als stabil erwies läuft es immer noch.
lks
> /usr/bin/lp -dBlanco $6
> /usr/bin/lp -dBriefpapier $6
>
> Nun komme ich nicht mehr weiter :/...
Sieht imho o.K. aus.
> /usr/bin/lp -dBriefpapier $6
>
> Nun komme ich nicht mehr weiter :/...
Sieht imho o.K. aus.
Nachdem ich mein Script angeschaut habe, sieht das nicht mehr o.k. aus.
Du bekommst ggf. den Input über stdin und der ist natürlich nach dem ersten Druck weg. Dann kannst du auf dem zweiten Drucker nichts mehr drucken. Schau Dir mal meine Variante an.
lks