ESC/P

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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]

Beispiel: Grafikdruck mit einem Neun-Nadel-Drucker

[Bearbeiten | Quelltext bearbeiten]
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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. EPSON ESC P2; Seiko Epson Kabushiki Kaisha. In: uspto.report. Abgerufen am 27. Februar 2024 (englisch).
  2. Epson-inkjet-printer-escpr. In: Free Software Directory. FSF.org, abgerufen am 27. Februar 2024 (englisch): „ESC/P-R is a common language for selected Epson printers that supports every media type, paper size and associated printing mode available on those printers.“