von pichel » Di 20. Okt 2015, 21:11
Hallo Oli,
ja, du hast da einen Fehler gefunden. Ich habe den javaprinter korrigiert, so dass nun die escinit und escpos Bytes auch tatsächlich bei der Tageslosung benutzt werden. War mir wohl irgendwie durchgeflutscht... In die nächste offizielle Version ist dann der verbesserte Javaprinter drin aber bis dahin kann ich dir gerne das neue jar vorab zu kommen lassen (wenn du mich kurz anmailst, damit ich deine Email-Adresse habe).
Zum Layout: Bei "lokalem" Printen erstelle ich den Bon innerhalb der Webseite und lasse den Bereich per css unsichtbar, beim Druck wird dann genau der andere Bereich ausgeblendet. Hier ist eine Layout-Anpassung sehr einfach durch dich möglich, wenn du html/javascript-Wissen hast. Allerdings ist lokales Printen nicht immer ganz zuverlässig durch die Thread-gesteuerte Abarbeitung der Druckjobs im Browser.
Daher bin ich dazu über gegangen, "Server"-Print weiter auszubauen. Dabei werden die Daten über http im json-Format an den Druckservice übergeben. Der Druckservice rendert den Inhalt und hierzu habe ich eine Menge Logik eingebaut, weil ich die verschiedenen Papierbreiten unterstützen möchte. Der Druckservice druckt dann über das alte ESC/POS-Protokoll, wie du bereits weißt. Beim Javaprinter schicke ich die Daten plain an den USB-Port, an dem der Drucker hängt. Im Windows-Druckerserver (in C# programmiert) nutze ich die Windows-API, um gezielt auf die Drucker zuzugreifen.
Der Aufwand beim Drucken ist tatsächlich hauptsächlich das Layouten. Wenn du dir dein eigenes Layout schreiben möchtest, dann schaue mal in die printqueue.php, da erkennst du in den Methoden getNextReceiptPrintJobs usw., wie der Inhalt in json verpackt wird. Hilft dir das weiter?
VG
Stefan
Hallo Oli,
ja, du hast da einen Fehler gefunden. Ich habe den javaprinter korrigiert, so dass nun die escinit und escpos Bytes auch tatsächlich bei der Tageslosung benutzt werden. War mir wohl irgendwie durchgeflutscht... In die nächste offizielle Version ist dann der verbesserte Javaprinter drin aber bis dahin kann ich dir gerne das neue jar vorab zu kommen lassen (wenn du mich kurz anmailst, damit ich deine Email-Adresse habe).
Zum Layout: Bei "lokalem" Printen erstelle ich den Bon innerhalb der Webseite und lasse den Bereich per css unsichtbar, beim Druck wird dann genau der andere Bereich ausgeblendet. Hier ist eine Layout-Anpassung sehr einfach durch dich möglich, wenn du html/javascript-Wissen hast. Allerdings ist lokales Printen nicht immer ganz zuverlässig durch die Thread-gesteuerte Abarbeitung der Druckjobs im Browser.
Daher bin ich dazu über gegangen, "Server"-Print weiter auszubauen. Dabei werden die Daten über http im json-Format an den Druckservice übergeben. Der Druckservice rendert den Inhalt und hierzu habe ich eine Menge Logik eingebaut, weil ich die verschiedenen Papierbreiten unterstützen möchte. Der Druckservice druckt dann über das alte ESC/POS-Protokoll, wie du bereits weißt. Beim Javaprinter schicke ich die Daten plain an den USB-Port, an dem der Drucker hängt. Im Windows-Druckerserver (in C# programmiert) nutze ich die Windows-API, um gezielt auf die Drucker zuzugreifen.
Der Aufwand beim Drucken ist tatsächlich hauptsächlich das Layouten. Wenn du dir dein eigenes Layout schreiben möchtest, dann schaue mal in die printqueue.php, da erkennst du in den Methoden getNextReceiptPrintJobs usw., wie der Inhalt in json verpackt wird. Hilft dir das weiter?
VG
Stefan