Wie print (barcode -) Etiketten aus einer Ruby on Rails Anwendung?
Meine erste Applikation die ich entwickelt habe, in RoR ist für einige Kiosk-Touchscreen-PCs in unserem Lager. Wenn die Lager Arbeiter nahm einige material, das er betritt die Menge in eine Form.
Jetzt will ich drucken wird ein Etikett mit: name des Kunden, Artikelbeschreibung, Menge, und einen barcode auf unseren Zebra-Drucker.
Wie würde ich es machen, dass aus einer Ruby on Rails Anwendung ?
-
Direkt versenden die steuerzeichen benötigt für ZPL (Zebra-Drucker-Sprache) von der Steuerung ? ( nicht sehr komfortabel )
-
Erstellen Sie eine Ansicht in HTML zum client zu senden, und der Kunde hat es zu drucken. ( nicht sehr komfortabel und fehleranfällig, da die Lager-Arbeiter zu tun hat zusätzliche Schritte, wählen Sie den falschen Drucker oder vielleicht nicht das Etikett drucken überhaupt )
-
Erstellen Sie ein pdf-Dokument aus dem controller aus und senden Sie es an den Drucker vom server aus ( oh Nein, der Drucker nicht versteht, pdf, so habe ich zur Kontrolle eine pdf-reader zu tun, der Druck ?? Das wäre nicht sehr schnell, wie Sie es senden, um das Etikett als Grafik an den Drucker
-
Erstellen Sie ein Juwel, das zu verstecken alle die Logik, die nötig ist für das drucken ? ( Gibt es Edelsteine, die dies bereits tun ? )
Ich würde mich über jeden Kommentar.
Dank
Klaus
- Hallo @klaus könnte Sie finden keine Lösung für Ihre Frage, ich habe genau die gleiche Anforderung, wie Sie in Ihrer Frage erwähnt. Bitte Antworten Sie, wenn Sie eine Lösung gefunden haben. Dank
- Interessiert auch keine Lösung für diese Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde senden Sie die raw-ZPL an den Drucker. Sie können verwenden Sie ein tool wie Barkeeper (ich würde vorschlagen, die Installation von Bartender Nur aus diesem link. Grundsätzlich können Sie Ihre design-label in das Werkzeug. Nachdem Sie mit dem designen Ihres Labels würden Sie download der bartender Druckertreiber für zebra-Drucker und eine dummy-Drucker mit diesen Treibern und drucken Sie die Etiketten, die Sie entworfen, um eine Datei. Dies gibt Ihnen die raw-zpl. Aus dieser grundsätzlich können Sie ersetzen Sie alle dynamischen Daten in der zpl-Datei, die Sie im vorherigen Schritt gedruckt haben, und senden Sie diese direkt an den Drucker via serial, tcp/ip oder usb.
Edit: ich fand eine viel bessere Lösung als ich fuhr Fort zu Graben, auf dieser. Das ist ziemlich deutlich bearbeitet nach unten, um den Fokus auf die Java-applet-Lösung landete ich mit.
Im Grunde, Sie generieren das label roh -, ZPL-text. Sie müssen dann zu bekommen, dass die plain-text an den Drucker, um das Etikett.
Wenn Ihr server kann den Zugriff auf die Drucker IP-Adresse, kopieren Sie den ZPL, um den Drucker direkt vom server-Prozess. Wenn es eine remote-web-app, die Sie brauchen, um den client zu schicken die ZPL für Sie. Browser sandboxing macht dies schwer zu ziehen - Fahrer wollen, um hilfreich in die Quere kommen. Es gibt ein paar Möglichkeiten; die häufigste ist die Verwendung eines kleinen Java-oder Flash-applet, um die tatsächliche kopieren. Wenn man eine bestimmte web-browser Ihre Benutzer verwenden, um zu drucken, um eine nur-text-Drucker, ohne etwas hinzuzufügen, könnten Sie den lokalen Druck, aber in der Regel die robusteste Ansatz ist die Verwendung eines Helfer Java-Applets.
Des Java-Applets, die ich für das ist jZebra: http://code.google.com/p/jzebra/
Es ist eine sehr saubere & einfacher Ansatz, schauen Sie sich die Beispiel-HTML, in dem download-Paket und ein paar Zeilen code das Etikett drucken. Ich habe gerade unten redigiert die Probe und Plane, verwenden Sie es als meine Produktion code popup.. es ist wirklich so einfach.
Zwei Vorbehalte mit diesem Ansatz:
Mehr einfache Lösung, und ich glaube, besser als gut, in der Regel die meisten browser und Maschinen als PDF-viewer installiert. So einfach erstellen Sie Etiketten als PDF-Dokument und schickte es an browser.
Haben wir umgesetzt Etikettendruck mit Zebra-Drucker in ROR folgende Art und Weise.
In der Regel Etiketten enthält barcodes als gut.
Insgesamt also Lösung wäre,
Klingt wie ein job für einen ruby C extension. Vielleicht eine, die auch wraps etwas wie gnu barcode http://www.gnu.org/software/barcode/ Bibliothek und einige andere open-standard für den zebra-Drucker, wenn eine vorhanden ist? Ich habe einmal eine rails-app, die aus-coupons und machte starken Gebrauch von gnu barcode, aber ich hab einfach shell-Befehl, um die Schnittstelle an.