Alexander (HH): Quittung drucken

Beitrag lesen

Moin Moin!

Das klingt sehr gut. Danke!
Ich werde den Drucker also ganz normal im Windows einrichten. Wie kann ich dann den Druck starten? JavaScript oder PHP? Und wie sende ich die Daten an den Drucker?

Du machst aus dem Rechner, an dem der Drucker hängt, einen (überdimensionierten) Printserver, z.B. mit CUPS, port910nd, lpd oder eben einer Windows-Drucker-Freigabe. Dann sorgst Du von der Anwendungsseite aus - im Web-Umfeld also vom Webserver aus - dafür, dass der Drucker mit Druckjobs versorgt wird. Der Browser hat damit nichts zu tun, außer dass er auf dem Webserver das Druckprogramm anstößt.

Wie Du die Daten zum Drucker bekommst, hängt vom jeweils benutzen Protokoll ab. CUPS steuert man per HTTP oder HTTPS auf 631/tcp an, p910nd wie alle anderen JetDirect-Emulationen auch über eine 9100/tcp (erster Drucker), 9101/tcp (zweiter Drucker), 9102/tcp (dritter Drucker) an, lpd wartet auf 515/tcp, und Windows erreichst Du nur über ein anderes Windows oder Samba. Wenn der Server unter Windows läuft, bindest Du den Drucker vom Client ein und steuerst den vom Webserver aus wie jeden anderen Windows-Drucker an. Unix-Server brauche ein Tool wie smbprint (im Lieferumfang von Samba) oder CUPS (das sollte direkt auf Drucker an Windows-Rechnern drucken können). Bei einem halbwegs modernen Linux richtest Du am einfachsten CUPS ein und druckst stumpf über CUPS.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".