Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
Hier nun die 2. Version im Gegensatz zu Version 1.
Ist die nun deutlicher?
Folgende 24/7 Drucklösung wird hier beschrieben.
Es können alle Dateien die in einem Dropbox Verzeichnis kopiert werden, automatisch in PDF-Dateien umgewandelt werden. Diese PDF Dateien werden in ein weiteres Dropbox Verzeichnis bereitgestellt. So ist über Dropbox ein platformübergreifender Zugriff möglich. Einfach die zu druckenden Dateien in das Verzeichnis kopieren. Der Drucker muss dazu nicht an sein.
Auch können mit dieser Lösung über iPhone, iPad… Dokumente über AirPrint gedruckt werden auch wenn der Drucker nicht AirPrint-Fähig ist. Das läuft über den CUPS-Server.
Der Drucker muss nicht immer an sein, da der Druckvorgang im Spooler des Raspberry Pi landet. Wenn der Drucker angeschaltet wird, werden die Dokumente gedruckt. Es ist rund um die Uhr ein Drucker erreichbar.
Es werden also PDF Dateien erzeugt und es wird der angeschlossene Drucker über CUPS „normal“ verwendet. Das heißt es kann von jedem Gerät, auch iPhone und iPad gedruckt werden!
Was ist dafür zu tun?
Zuerst mal ein Überblick.:
Eine valide BMPN 2.0 Version ist hier zu finden.
„Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?“ weiterlesen
Wenn man eine Datei von der Konsole mit lpr ausdrucken will kommt evl. diese Fehlermeldung:
pi@rPi ~ $ lpr beispiel-anhang.txt
lpr: Error - no default destination available.
Dann kann man mit lpstat -s alle im System bekannten Drucker listen lassen:
i@rPi ~ $ lpstat -s
no system default destination
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Wie kann nun der default Drucker gesetzt werden? Mit z.B.
pi@rPi ~ $ lpoptions -d PDF_Drucker
Ein wiederholtes checken mit lpstat ergibt nun den gesetzten default Drucker.
pi@rPi ~ $ lpstat -s
system default destination: PDF_Drucker
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Nun läuft auch das Drucken mit
lpr beispiel-anhang.txt
Mit AirPrint kann von einem iPad, iPhone, iPod touch und Mac sofort gedruckt werden, ohne vorher Treiber installieren oder Software laden zu müssen. Einfach einen AirPrint-Drucker auswählen und drucken.
Wer keinen AirPrint fähigen Drucker hat, kann ihn mit einen rPi und CUPS dazu leicht verwenden, so das über das iPhone, iPad bzw. Mac gedruckt weden kann.
Es gibt dazu diese gute Anleitung die super mit meinem HP LJ 2600n über das Netzwerk funktioniert. Es sollte aber auch alle anderen Drucker laufen.
Diese Seite kurz zusammengefasst:
1 2 3 4 5 6 7 8 9 10 |
sudo apt-get install avahi-daemon cups cups-pdf python-cups sudo nano /etc/cups/cupsd.conf # Zeile anpassen: Only listen for connections from the local machine. # von Alt: Listen localhost:631 auf Port 631 # 3 x Allow @Local ergänzen in location, location admin, location local/conf sudo service cups restart sudo adduser pi lpadmin |
Über Browser die Adresse
1 |
https://[PI-IP-Adresse]:631 |
aufrufen und Option “Freigeben von Druckern welche mit diesem System verbunden sind” aktivieren und den Drucker einrichten.
AirPrint einrichten mit dem Py-Script:
1 2 3 4 5 |
sudo mkdir /opt/AirPrint cd /opt/AirPrint sudo wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py sudo chmod +x airprint-generate.py sudo ./airprint-generate.py -d /etc/avahi/services |
Restart:
1 2 |
sudo service cups restart sudo service avahi-daemon restart |
So jetzt kann von jedem Apple Gerät über AirPrint gedruckt werden. Oder über den Mac.
Tip: Wer Fehler suchen muss, kann in der
/etc/cups/cupsd.conf
Datei den LogLevel warn auf
LogLevel debug2
setzen. Dann werden mehr Ausgaben nach /var/log/cups/error_log geschrieben. Man kann sich diese Datei auch mit
tail -n 100 -f /var/log/cups/error_log
ausgeben lassen. Damit die geänderten Einstellungen wirksam werden, muss der CUPS Server mit
sudo service cups restart
restartet werden.
Wenn ein virtuelle PDF-Drucker mit cups-pdf eingerichtet wird, werden die PDFs default mäßig in
/var/spool/cups-pdf/ANONYMOUS
gespeichert. So können, ohne das ein Drucker angeschlossen ist, jederzeit von iPhone, iPad und Mac nach PDF „gedruckt“ werden.
Der PDF-Drucker kann so eingestellt werden:
Super! Klappt es bei Dir auch?
Habe noch diese gute Anleitung mit vielen Fotos in engl. gefunden.