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.
Anmelden auf dem Raspberry Pi und im Homeverzeichnis Dropbox-Uploader von GitHub holen:
1 |
git clone https://github.com/andreafabrizi/Dropbox-Uploader |
Es wir das Verzeichnis Dropbox-Uploader
angelegt mit den nötigen Scripten.
Kontakt zu DropBox einrichten wie hier schon mal beschrieben.
Die drei Verzeichnisse: input, output und pdf-output anlegen. Checken mit
1 2 3 4 5 6 |
~/Dropbox-Uploader $ ./dropbox_uploader.sh list</code><code> Ausgabe: <code> > Listing "/"... DONE [D] 0 input [D] 0 output [D] 0 pdf-output |
Dann meine tw-scripte von GitHub holen mit
1 |
git clone https://github.com/IT-Berater/tw-scripte |
Dann CUPS wie schon mal von mir beschrieben einrichten.
Also kurz:
1 2 3 4 5 6 7 8 9 |
sudo apt-get update sudo apt-get upgrade 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. Port 631 # 3 x Allow @Local ergänzen in location, location admin, location local/conf sudo service cups restart sudo adduser pi lpadmin |
Dann https://[Raspberry-Pi-IP]:631/ aufrufen und wie beschrieben einrichten.
Jetzt in das
1 |
~/tw-scripte |
Verzeichnis wechseln, und
1 |
./dir-to-pdf.sh |
aufrufen.
Es kommt diese Meldung:
Uploading „/home/pi/tw-scripte/input/input-beispiel.txt“ to „/output/input-beispiel.txt“… DONE
Dann
1 |
./pdf-to-dropbox.sh |
aufrufen. Es kommt die Meldung:
PDF-Datei input-beispiel.pdf steht nun in der Dropbox im Verzeichnis /pdf-output bereit.
Nun kann im pdf-output
Verzeichnis der Dropbox das über CUPS erzeugte PDF angeschaut werden.
Kommt es zu einer Fehlermeldung wie: lpr: Error – no default destination available. dann den default Drucker setzen wie hier beschrieben.
Jetzt diese beiden Scripte noch über /etc/crontab
automatisch alle 5 Minuten ausführen lassen. Dazu mit crontab -e
den folgenden Code anfügen:
1 2 |
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/pi/tw-scripte/dir-to-pdf.sh #1. PDF generierung aus Dropbox inpox Verzeichnis 2,7,12,17,22,27,32,37,42,47,52,57 * * * * /home/pi/tw-scripte/pdf-to-dropbox.sh #2. PDF in Dropbox pdf-output Verzeichnis kopieren |
Das einfügen kann auch mit der/tw-scripte/crontab-import.txt
Datei als Kopiervorlage verwendet werden.
Habe ich noch was vergessen zu beschreiben? Bei mir läuft diese Lösung schon seit Monaten erfolgreich.
Ps. Der Dropbox uploader (v0.13) kann noch nicht mit Dateien umgehen, wo Umlaute (äöüÄÖÜ) vorhanden sind. Solche Dateien werden nicht zu PDF umgewandelt. Es gibt jetzt aber schon die v0.14.
Kommentare sind geschlossen.