![]() |
Zebra Drucker Etiketten Variablen
Hallo,
ich brauch da nochmal eure Hilfe. Ich kenne es von Dymo das ich dort mit der mitgelieferten Software ein Etikett erstellen kann und diese Etikettendatei dann mit meiner Software vor dem ausdrucken öffnen und editieren kann. Ich ersetze halt Variablen mit Daten aus meiner Software. Dies würde ich auch gerne mit einem Zebra Drucker realisieren. Ich habe mit dem ZebraDesigner ein Etikett erstellt und würde dieses nun auch gerne öffnen und Variablen mit Daten ersetzen. Leider ist dies mit der erstellten Label Datei anscheinend nicht möglich. Zur Verfügung habe ich eine.lbl und eine.prn Datei. Wie kann ich hiermit arbeiten? Hat zufällig jemand Erfahrungen mit Zebra Druckern? Vielen Dank im voraus. |
AW: Zebra Drucker Etiketten Variablen
Zitat:
|
AW: Zebra Drucker Etiketten Variablen
Es gibt garantiert auch ein SDK,
womit diese Vorlangen geladen, verändert und zum Drucker geschickt werden können. Direkt auf deren Seite fand ich jetzt nichts (öffentlich, aber vielleicht im Support-Bereich, wenn man dort angemeldet ist), aber ![]() ![]() Über eine API/SDK kannst du natürlich vom Programm auch sonstwas drucken lassen, selbst wenn du diese Vorlagen nicht laden könntest. Die Zebradrucker können auch EPL und ZPL. ![]() ![]() ![]() ![]() [edit] Das von rokli ist EPL/ZPL ... im Prinzip sind das Texte mit Steuercodes (Escape-Sequenzen) [/edit] ![]() ![]() ![]() ... |
AW: Zebra Drucker Etiketten Variablen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Graw,
wir Programmieren die Etikettendrucker auch direkt, schreiben die Befehle dann in eine ASCII Datei und senden die Datei dann via LPR an die IP Adresse des Druckers. Speziell für Zebra sieht das dann - auschnittweise - so, oder so ähnlich aus wie in der Anlage. Dabei entspricht jede Zeile in der Datei einem Etikett. Die "geblauten" Teile sind nicht für die Öffentlichkeit geeignet :wink: . Wenn Du in die Richtung weiter überlegst, kann ich Dir noch ein paar Tipps geben. |
AW: Zebra Drucker Etiketten Variablen
Hmm..
Zitat:
Wir arbeiten mit Script-Druckern so, dass der Drucker ganz normal unter Windows installiert wird, jedoch beim Drucken dann als DocInfo.pDatatype := 'RAW' verwendet wird. So können ASCII-Daten direkt aus einem String an den Drucker gesendet werden, ohne dass Windows daran etwas verändert... |
AW: Zebra Drucker Etiketten Variablen
Zitat:
Da vielleicht besser den ZebraDesigner Pro oder ZebraDesigner XML verwenden. ![]() |
AW: Zebra Drucker Etiketten Variablen
Zitat:
ja, sowohl in ASCII Dateien, oder auch in Tabellen in DB, da wir die Etiketten teilweise bis zu 5 Tagen vor der eigentlichen Benutzung erzeugen. Ein Teil der Etiketten (die aus den ASCII Dateien) werden von Roboter-Systemen über den Dateinamen identifiziert und dann automatisch, im Durchlauf, auf das Werkstück gebracht. Ergänzung: Und dann natürlich ohne Windows/Windows-Treiber sondern mit LPR direkt auf die IP des Druckers. |
AW: Zebra Drucker Etiketten Variablen
Wir installieren solche Drucker (Zebra, Bocca usw) als Windows-Drucker und drucken dann Tickets oder Etiketten mit Fastreports. Erscheint mir einfacher.
|
AW: Zebra Drucker Etiketten Variablen
Wir kommen hier so langsam OT ... fürchte ich ...
|
AW: Zebra Drucker Etiketten Variablen
Hmm..
ZebraDesigner.. Schon was her.. Aber ich glaube mit der ZebraDesigner ist es nur durch einen Trick möglich an das generierte ZPL-Script zu kommen. Hierfür habe ich den Druckerport des installierten Zebra (ZPL) Drucker auf RedMon umgebogen und die Ausgabe dann in eine Datei gespeichert. |
AW: Zebra Drucker Etiketten Variablen
Zitat:
Zitat:
Zitat:
Zitat:
PS: Umleiten/Abfangen von Druckausgaben. ![]() |
AW: Zebra Drucker Etiketten Variablen
Hmm..
alternativ zum ZebraDesigner (noch nicht näher angeschaut) ![]() Oder bei Handerstellung der ZPLs zum Prüfen: ![]() Das ganze als Java.. ![]() Mit Demo: ![]() OK, es geht auch ohne Printer-Port: ![]() |
AW: Zebra Drucker Etiketten Variablen
Hmm..
Habe hier noch eine kleine Beschreibung gefunden (in EN und für andere Platzhalter) ![]() Aber alleine an den ScreenShots sollte der Weg ersichtlich sein.. |
AW: Zebra Drucker Etiketten Variablen
Schon mal vielen Dank für die vielen Antworten.
Ich werde morgen wieder Zeit haben daran zu arbeiten. Mal schauen ob und wie ich ans Ziel komme. Ich werde dann berichten. |
AW: Zebra Drucker Etiketten Variablen
Zitat:
Im FF funktioniert der Generate-Button, aber egal, da man keine Elemente hinzufügen kann und im IE kann ich Welche hinzufügen, aber das Generieren geht nicht. :stupid: Aber das Projekt ist eh tot. |
AW: Zebra Drucker Etiketten Variablen
Moin,
wir erstellen die vorlage einmalig im Zebradesigner und drucken das Etikett dann in eine Datei bzw. leiten den Port des Zebradruckers in eine Datei um. Dann bekommst Du z.B. so was hier:
Code:
Diese Datei bzw. diesen String dängelst Du dann mit Deinen Werten um schickst das per Indy direkt an den Drucker.
^XA~TA000~JSN^LT0^MNW^MTD^PON^PMN^LH0,0^JMA^PR5,5~SD15^JUS^LRN^CI0^XZ
^XA ^MMT ^PW799 ^LL1199 ^LS0 ^FT772,1130^A0I,39,38^FH\^FDFirmenname^FS ^FT520,1127^A0I,28,28^FH\^FDGmbH & Co KG^FS ^FT772,1069^A0I,28,28^FH\^FDAuftrag:^FS ^FT646,1069^A0I,28,28^FH\^FD###VAR1###^FS ^FO19,1029^GB753,0,15^FS ^FT772,991^A0I,23,24^FH\^FDArtikel^FS ^FT653,991^A0I,23,24^FH\^FDOE^FS ^FT546,991^A0I,23,24^FH\^FDBeschreibung^FS ^FT240,991^A0I,23,24^FH\^FDBest./Gel.^FS ^FT120,991^A0I,23,24^FH\^FDPREIS^FS ^FT653,954^A0I,23,24^FH\^FD###VAR2###^FS ^FT772,954^A0I,23,24^FH\^FD###VAR3###^FS ^FT546,954^A0I,23,16^FH\^FDT222222222222222222222222222222^FS ^FT100,954^A0I,23,24^FH\^FD###VAR4###^FS ^FT240,954^A0I,23,24^FH\^FD###VAR5###^FS ^BY2,3,77^FT335,1074^BCI,,Y,N ^FD>:AUFTRAGLS^FS ^FT776,613^A0I,28,28^FH\^FD###VAR6###^FS ^PQ1,0,1,Y^XZ Das klappt wunderbar und ist pfeilschnell, weil sehr schlank :-) Gruß |
AW: Zebra Drucker Etiketten Variablen
Zitat:
|
AW: Zebra Drucker Etiketten Variablen
Zitat:
Hier wird beschrieben wie man einen lokalen USB Drucker einen Windows Share Namen zuweist: ![]() Dann die Druckdaten per Stringlist.SaveToFile('\\mypc\mylocalprinter') ausgeben. (Disclaimer: mit lokalen Druckern habe ich es nicht selber getestet) |
AW: Zebra Drucker Etiketten Variablen
Hmm..
Wieso der Umweg über LPT.... Den Drucker ganz normal unter Windows installieren! Und dann reicht folgendes, um jedes Script (kann ZPL, EPL oder anderes RAW-Script sein!) direkt programmtechnisch an den Drucker zu schicken:
Delphi-Quellcode:
(Ist nicht optimiert und verwendet nur ASCII (ANSI), was aber OK ist, da die meisten Scriptfähigen Drucker nicht Unicode per Script können!)
uses
WinSpool, Printers; function SendRAWData(RAWData: AnsiString; Port : Ansistring):boolean; var dwCount : DWORD; hPrinter : THandle; DocInfo : TDocInfo1A; dwJOB : DWORD; dwBytesWritten : DWORD; begin result:=false; dwCount := Length(RAWData); if OpenPrinterA(PAnsiChar(Port), hPrinter, Nil) then begin try DocInfo.pDocName := 'RAWPrint'; DocInfo.pOutputFile := Nil; DocInfo.pDatatype := 'RAW'; dwJob := StartDocPrinterA(hPrinter, 1, @docInfo); if dwJob <> 0 then try if StartPagePrinter(hPrinter) then try if WritePrinter(hPrinter, PAnsichar(RAWData), dwCount, dwBytesWritten) then if dwBytesWritten <> dwCount then raise Exception.Create('Übertragungsprobleme mit '+Port+'!') else result:=true; finally EndPagePrinter(hPrinter) end finally EndDocPrinter(hPrinter); end finally ClosePrinter(hPrinter) end; end else raise Exception.Create('Drucker '+Port+' nicht zur Verfügung!'); end; procedure TForm1.Button1Click(Sender: TObject); var Port : string; Data : string; begin if PrintDialog1.Execute then begin Port := Printer.Printers[Printer.PrinterIndex]; Data := 'DIES IST DAS ASCII-SCRIPT'; SendRAWData(Data,Port); end; end; Es ist hierbei egal, ob der Drucker per USB/LPT/Netzwerk oder wie auch immer angeschlossen ist. (Den Printdialog habe nur als Beispiel verwendet, der Drucker kann auch schon vorher selektiert/gespeichert worden sein.) Edit: Kann sogar auf normalen z.B. Laserdrucker verwendet werden, um direkt Text zu drucken. |
AW: Zebra Drucker Etiketten Variablen
Zitat:
|
AW: Zebra Drucker Etiketten Variablen
Hmm..
In meinem Source wird die 'Printers' nur für den Printerport verwendet. Das Ausdrucken geht direkt über WinSpool-API, ohne Printers.... Die Funktionen werden bei uns intensiv eingesetzt, ebenfalls seit Jahren, gerade im Zusammenhang mit EPL und ZPL Druckern. Somit kann ich die Printers-Probleme in diesem Zusammenhang nicht nachvollziehen. |
AW: Zebra Drucker Etiketten Variablen
Zitat:
(Was im Zusammenhang mit Druckerqueues sehr praktisch wäre: eine Windows API-Möglichkeit, die Druckdaten vor dem Löschen der Queue in Dateien zu speichern, um den Druck zu wiederholen. Oder eine Art Callback nach dem Druck, so dass man alle Daten temporär in einer Datei bereithält, die nach dem Druck gelöscht wird) |
AW: Zebra Drucker Etiketten Variablen
Hmm..
Für den Print Spooler gibt es APIs.. Was damit möglich ist, kann ich nicht sagen, musste mich damit noch nicht auseinander setzen.. ;) Ich weiß nur so viel, dass die Einträge zu einem Drucker ausgelesen werden können, ob damit auch ein Zugriff auf die Daten möglich ist.. ?!?! Aber bevor wir damit weiter machen: -> Zurück zum Thead... (Drucker und Spooler besser neuer Thread) ;) |
AW: Zebra Drucker Etiketten Variablen
Hi,
habe es nun mit Fast Report gelöst. Gefällt mir super!!! Danke für alle Antworten. |
AW: Zebra Drucker Etiketten Variablen
Hallo Graw,
kannst Du das bitte kurz beschreiben, wie Du das via FR gemacht hast? Danke. |
AW: Zebra Drucker Etiketten Variablen
Hallo rokli,
direkt über lpr auf den Drucker ist echt cool. Schnell und keine Treiberinstallation. Würdest du mir eine Asci-Datei geben? Dann spare ich mir das Gesuche auf der Zebraseite, wie die Datei aussehen muss. Ich kenne das für einen TSC Drucker. Da ging es so, dass im Kopf der Datei Formatierungen und Befehle stehen. Das zu druckende in " mit Positionsanweisungen. Ich nehme an, dass das für die Zebradrucker ähnlich geht. Falls du es für TSC bruachst können wir tauschen. Weisst du ob es eine bestimmte Firmware o ä für den Drucker bruacht oder können das alle Zebras? Da Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz