Autor Beitrag
mcbain
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.07.11 10:52 
Hallo,
ich kommuniziere mit einem Zebra P430i, sprich ich schicke ihm Kommandos mit Escape-Sequenzen. Einzelne Kommandos, wie "Bewege die Karten zum Codierer" oder "Entferne die Karte aus dem Kartenschacht" funktionieren wunderbar. Ich kann auch Text oder einen Barcode drucken. Nur bekomme ich es nicht gebacken eine Grafik auf den Ausweis zu drucken.

Folgendes Funktioniert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
RawPrinter1.WriteStr(#27+Ansistring('+RIB 0')+#13);     //Ribbontype
RawPrinter1.WriteStr(#27+Ansistring('+C 5')+#13);       //Heat
RawPrinter1.WriteStr(#27+Ansistring('F')+#13);          //Flush Imagebuffer
RawPrinter1.WriteStr(#27+Ansistring('B 512 600 4 0 2 4 100 1 TEST')+#13);      //Draw Barcode
RawPrinter1.WriteStr(#27+Ansistring('T 512 75 4 0 0 35 1 Firma XYZ')+#13);     //Draw Text
RawPrinter1.WriteStr(#27+Ansistring('T 200 200 0 1 0 50 1 Max')+#13);          //Draw Text
RawPrinter1.WriteStr(#27+Ansistring('T 200 300 0 1 0 50 1 Mustermann')+#13);   //Draw Text
RawPrinter1.WriteStr(#27+Ansistring('T 200 400 0 1 0 50 1 0123456789')+#13);   //Draw Text
RawPrinter1.WriteStr(#27+Ansistring('T 65 320 7 1 0 50 0 Reverse text')+#13);  //Draw Text
RawPrinter1.WriteStr(#27+Ansistring('L 15 80 970 4 1')+#13);                   //Draw Line
RawPrinter1.WriteStr(#27+Ansistring('I')+#13);                                 //Print Mono


Für das Drucken eines Bildes sieht die Syntax folgendermaßen aus:
1. "G" Kommando: - Initialize Monochrome Graphic
2. "O" Kommando: - Load Single Line Bitmap

Aber leider funktioniert folgender Code nicht, obwohl es ein Beispielcode aus der API-Referenz (siehe Anhang) ist. Fehlermeldung: COMMAND ERROR

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
RawPrinter1.WriteStr(#27+Ansistring('+RIB 0')+#13);     //Ribbontype
RawPrinter1.WriteStr(#27+Ansistring('+C 5')+#13);       //Heat
RawPrinter1.WriteStr(#27+Ansistring('F')+#13);          //Flush Imagebuffer
 RawPrinter1.WriteStr(#27+Ansistring('G 200 200 0 2 15 1')+#13);     //Prepare Image-Canvas
 RawPrinter1.WriteStr(#27+Ansistring('O0F FC')+#13);   //Print Dot
  RawPrinter1.WriteStr(#27+Ansistring('O1F FE')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('O3F FF')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('O3F FF')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('O7F FF')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('O7F FF')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('O7F FF')+#13);
  RawPrinter1.WriteStr(#27+Ansistring('OFC 0F')+#13);


Kann jemand da weiterhelfen?
Vielen Dank.
gruß
mc
Einloggen, um Attachments anzusehen!
jaevencooler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 166
Erhaltene Danke: 6

MS-DOS,Win32, Win95, Win 98, Me,XP, Linux, NT4.0, NT 2000-2008, Vista, Windows 7
Turbo Pascal,D1 Enter,D2 Enter,D3 Enter,D5 Enter, Kylix, D2007, PL/SQL, MS/SQL, Delphi 2010, Delphi XE
BeitragVerfasst: Mo 25.07.11 11:11 
Moin, Moin,


welche Delphi Version nutzt Du hier für ?
Von der Komponente TRawPrinter gibt es verschiedene Versionen im Netzt, welche nutzt Du ?

Wir arbeiten sehr viel mit Zebra Druckern, auch zur Herstellung von Ausweisen, Gerätekarten usw. alles mit Grafik
und funktioniert bestens.....
Ich muss dazu sagen das wir hier relativ viel mit ZPL arbeiten, und die Grafiken auf den Druckern ablegen....


Beste Grüße
Michael

_________________
Wissen ist Macht, nichts wissen macht auch nichts...
mcbain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.07.11 11:19 
Die Version kann ich dir nicht sagen, steht nirgends im Quelltext. Is aber eine schon etwas ältere Version, musste darin nämlich alle Strings in AnsiString konvertieren, da es sonst unter meinem Delphi2010 nicht gelaufen wäre.
Aber wie gesagt, die anderen Befehle funktionieren, nur Bilder bekomm ich nicht auf die Reihe.
Habs auch mit Delphi7 probiert, da war es das Gleiche.

Edit: Worin liegt denn der Unterschied, ob ich mit dem Drucker über Kommandos spreche, oder über die ZPL?
Hast du mal einen Beispielcode in Delphi, wie du Kommandos über die ZPL schickst, bzw. wie du Bilder auf die Ausweise druckst?