Top-Fragen
Zeitleiste
Chat
Kontext

ESC/P

Aus Wikipedia, der freien Enzyklopädie

Remove ads

ESC/P (Epson Standard Code for Printers) ist eine von Seiko Epson entwickelte Befehlssprache zur Ansteuerung von Druckern. Sie steht in direkter Konkurrenz mit PCL, der Drucker-Befehlssprache von Hewlett-Packard.

Namensgebend für ESC/P ist die Einleitung der Escape-Sequenzen mit dem Zeichen ESC (Escape = hexadezimal 1B oder dezimal 27) des ASCII-Zeichensatzes. Zum Beispiel erfolgt das Einschalten von Fettschrift mit ESC E und das Ausschalten von Fettschrift mit ESC F (hierbei ist die Groß-/Kleinschreibung zu beachten, denn mit ESC e wird z. B. ein Tabulatorabstand definiert).

In der Ära der Nadeldrucker wurde diese in z. T. leicht veränderter Form auch von anderen Herstellern verwendet (z. B. NEC). Unterschieden wird zwischen Neun-Nadel-Druckern und 24/48-Nadel-Druckern, für die zusätzliche Befehle vorhanden sind. Mit Aufkommen von Tintenstrahldruckern wurde die Befehlssprache 1991 unter der Bezeichnung ESC/P2 erweitert, u. a. um Grafik-Befehle (FX-Modus). ESC/P2, auch in der Schreibweise ESC/P 2 mit Leerzeichen, ist seit 1997 ein eingetragenes Warenzeichen.[1] Moderne Epson-Drucker verwenden die Variante ESC/P-R.[2]

Eine weitere von Epson entwickelte Erweiterung ist ESC/POS, eine Variante für die Drucker von Kassensystemen (englisch point of sale, POS).[3] ESC/POS wurde u. a. um Befehle zum Ansteuern von Cuttern zum teilweisen oder ganzen Durchschneiden des Kassenbons oder um die Ansteuerung eines Ausgangs, beispielsweise zum Öffnen der Kassenschublade, ergänzt. Dieser Standard wird auch von vielen anderen Herstellern von Kassendruckern unterstützt.[4]

Remove ads

Beispiel: Grafikdruck mit einem Neun-Nadel-Drucker

Zusammenfassung
Kontext
Thumb
Beispielgrafik mit 24 Spalten und 3 Zeilen à 8 Nadeln bei 72×72 dpi
ESC * m nL nH d1 … dk

Mit diesem Befehl werden k Spalten Rastergrafik gedruckt. Das Escape-Zeichen hat den ASCII-Code 27 und das Sternchen den Code 42.

Das Byte m ist die Auflösung in horizontaler Richtung, z. B. steht 5 für 72 dpi oder 3 für 240 dpi. Die Auflösung in vertikaler Richtung beträgt hier immer 72 dpi und ergibt sich aus dem Nadelabstand.

Die Bytes nL und nH ergeben zusammen die Anzahl k (Low Byte, High Byte) der zu druckenden Spalten.

Für jede Spalte ist ein Byte d zu senden, das die anzuschlagenden Nadeln bitweise codiert. Bit 7 steht dabei für die oberste Nadel. Die unterste (neunte) Nadel wird nicht benutzt.

Um sinnvoll Grafik zu drucken, benötigt man noch zwei weitere Befehle: Wagenrücklauf (CR = 0x0d bzw. 13) und Papiervorschub um n/216 Zoll (ESC J n). Um direkt unter der gedruckten Zeile die nächste zu drucken, ist hier für n 24 einzusetzen. Wird jedoch für n der Wert 8 eingesetzt, so beträgt der Vorschub 83 des Nadelabstands. Auf diese Weise kann mit dreifacher vertikaler Auflösung, also 216 dpi gedruckt werden. Der Ausdruck dauert dann allerdings auch dreimal so lange.

Um die hier gezeigte Beispielgrafik zu drucken, müsste man also folgende Daten an den Drucker senden:

27 42 5 24 0 Drucke 24 Spalten mit 72 dpi
0 7 15 31 62 124 120 113 241 225 224 224 224 224 225 241 113 120 124 62 31 15 7 0 Bilddaten
13 Wagenrücklauf
27 74 24 Papiervorschub um 24/216 Zoll
27 42 5 24 0 Drucke 24 Spalten mit 72 dpi
255 255 255 129 0 0 0 195 195 195 1 1 1 1 195 195 195 0 0 0 129 255 255 255 Bilddaten
13 Wagenrücklauf
27 74 24 Papiervorschub um 24/216 Zoll
27 42 5 24 0 Drucke 24 Spalten mit 72 dpi
0 224 240 248 124 62 30 142 143 199 199 199 199 199 199 143 142 30 62 124 248 240 224 0 Bilddaten
13 Wagenrücklauf
27 74 24 Papiervorschub um 24/216 Zoll
Remove ads

Einzelnachweise

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads