PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ESCP / Drucker Codes


MasterOD
17.08.2005, 13:03
Hi

Ich bin grad dabei ein Programm zu erstellen das einen Epson Drucker ersetzen soll.

Ich bekomme (roh-) Daten von einem PC zugesendet. (ESC Codes für nen Epson LQ 570 Nadeldrucker [es könnte auch ein anderer Epson kompatiebler Drucker sein, an die Info komm ich aber net so schnell rann http://www.informationsarchiv.net/foren/images/smiles/icon_smile.gif )
Ich habe mir mit Hilfe des ESCP MANUAL (http://esupport.epson-europe.com/FileDownload.aspx?lng=de-DE&ID=18162&data=F5847DC76E520340DC00B9BA4E9848580FD217E92B29ED9F6223CBAC5A744990 (http://esupport.epson-europe.com/FileDownload.aspx?lng=de-DE&ID=18162&data=F5847DC76E520340DC00B9BA4E9848580FD217E92B29ED9F6223CBAC5A744990)) ein Programm erstellt welches schon recht gut funktioniert.
Ich kann Grafiken ''drucken'' (beim Drucker Treibern für Epson LQ 800/570/570e/570+ nen Hacken bei 'Ausgabe in Datei') und diese Bilder umwandeln. Alles kein Problem.

Nun wollt ich mich mal an die Daten ranmachen die ich zugesendet bekomme und muss feststellen dass dort die Bit-Image darstellung wohl anders läuft http://www.informationsarchiv.net/foren/images/smiles/icon_sad.gif

Normalerweise beginnt eine Zeile mit dem Codes
ESC * m n1 n2
(In Hex sieht das so aus: 0x1B 0x2A m n1 n2)
Wobei m (bei mir) immer 0x27 (=39) ist und ne Auflösung von 180dpi mit 24 Punkten Pro Spalte (3*8 'pixel' untereinander) bedeutet.
Mit k = n1 + (256*n2) berechnet man die anzahl der Spalten die in dieser Zeile stehen. ( k*3 ergibt die Anzahl der Bytes die folgen )

Nun sieht das in den anderen Daten oft so aus:
...
1B 2A 27 14 FF FF FF 80 08 80 08 80 08 80 08 80
08 80 08 80 08 80 08 80 08 80 80 80 80 80 80 80
80 80 80 1b 5c 1e 1b 30 ........

Hier sind
n1=0x14 (20)
n2=0xFF (255)
k = 20 + (256*255) = 65300 Spalten
k*3 = 195900 Bytes

Aber wie man sieht sinds nur 30 Bytes an Grafik Daten.

Hat jemand noch nen anderen Ansatz zur Berechnung der Anzahl folgender Bytes? Evtl passt das ESCP Manual nicht zum Drucker, es ist aber das einzige das ich im Netz gefunden hab.


Firefall
16.09.2005, 13:53
Ich kann dir leider nicht helfen, aber dein Programm interessiert mich! Wie kannst du eine *.prn Datei (->Ausgabe in Datei umleiten) am Bildschirm darstellen?!? Gibt's ein Tutorial dazu?

Scavi
16.09.2005, 14:00
Aber wie man sieht sinds nur 30 Bytes an Grafik Daten. ..woraus schlussfolgerst du das?

MasterOD
17.09.2005, 10:11
Es sind nur 30 Bytes an Grafikdaten da vom 1B 2A 27 14 FF bis zum 1b 5c (ist der nächste Befehl) nur 30 Bytes stehen :)

1B 2A 27 14 FF FF FF 80 08 80 08 80 08 80 08 80
08 80 08 80 08 80 08 80 08 80 80 80 80 80 80 80
80 80 80 1b 5c 1e 1b 30



@Firefall
Die konvertierung ist eigendlich ganz einfach. Wenn du willst erstell ich dir mal n kleinen Beispeil Code

Firefall
17.09.2005, 10:29
@Firefall
Die konvertierung ist eigendlich ganz einfach. Wenn du willst erstell ich dir mal n kleinen Beispeil Code
Wäre nett! Danke schonmal im voraus!

MasterOD
04.10.2005, 11:42
@Firefall
Hab das mit dem Beispiel ganz vergessen :rolleyes:
Wenn noch interresse besteht erstelle ich in den nächsten tagen eins

Xpyder
07.10.2005, 04:18
Hab sowas vor ner Weile mal gecodet.
Im Bereich MS-DOS/Tools auf meiner Seite runterzuladen.
Heißt EPSON READER. (EPSRD.EXE)
Der kann PRN-Files (also Files, die umgeleitete Grafikdruck-
Druckerdaten sind) auf dem Bildschirm in verschiedenen
Auflösungen darstellen.
Meine Seite ist immer noch
www.imperial-games.de

Es gibt mehrere Möglichkeiten für so ESC-Sequenzen. Ich
habe darin alle mir bekannten supportet. (Mono)

Habe auch das Umgekehrte schon mehrmals programmiert:
Also Programme, die Grafiken oder Texte (in Grafischem
Zeichensatz, also auch im "Grafikdruck") auf EPSON FX80
kompatiblen Druckern ausgeben können.