For barcode printing from Windows applications and in combination with macros, you can use the MS Word Forms & Field Installer.

The ELP Barcodes Technical Reference Manual does describe all sequences and gives help for SAP DeviceType modification

ELP supports different modes for barcode printing:

In addition ELP supports OMR marks generation for all major envelope inserter machines.

If you want to use a bar code as a watermark in a form, then you should have a look into the provided Microsoft Word application: "Forms & Field Installer.doc" available in the start menu. You may also use it in order to generate the hex based escape sequences, needed for SAP DeviceTypes, in order to modify or generate new Print-Controls.

Find below the short reference manual for printing industry compliant barcodes for PCL5 printers. (Full manual here)




P parameter Esc(s#p

Control if/how human-readable (caption) text is printed with bar code

0 Use default value
1 Don't print human readable text
2 Print human readable text embedded
3 Print human readable text half embedded
4 Print human readable text under code
5 Print human readable text above code
6 Print human readable text half above code
7 Print human readable text full embedded above code



Add 10 to print UPC/EAN/JAN check sum middle left rather than bottom left of bar code.
Add 10 to print start & end * characters with 39 bar code text
Add 20 to format French and German postal barcodes
Add 100 to print check sum character with text.
Add 124 to print the German Post bar code


Exception: For Australia 4State barcodes, the p parameter specifies if the customer information is digits 0 Encode customer information with N table1 Encode customer information with C table

H parameter ...#h

Controls what font is used for the human-readable (caption) text

Format: CBA, numeric value, where

C: Style 0 Use Default (Bold)
    1 Use Regular
    2 Use Italics
    3 Use Bold
    4 Use Bold Italic
    > 9 then the human readable text is printed in a fixed size in mm. The height is the value dived by 10. If you want to print a 5 mm text height in bold italic, use 54

B: Size
    0 Use automatic font size
    1 Use the actual selected font when printing readable text under the code
    9 External, use macro 28745 to call readable text any time after bar code is printed. You can set position and size, best in HP GL2 commands.

A: Typeface 
    0 Use Courier to print text (default)
    1 Use Letter Gothic to print text
    2 Use Univers to print text
    3 Use Univers Condensed to print text
    4 Use CG-Times to print text
    5 Use OCR-B to print text (great with UPC/EAN)


Example: text in Univers Bold Italic, automatic size: Esc(s402H


V parameter ....#v

Short bar height in points (1/72 inch). Same unit as fonts. Minimum sizes apply.

Example: Bar code in point size 87: Esc(s87V


Non-Standard is the possibility for a negative v parameter. PCL barcodes: This was especially entered for an easier Kyocera bar code handling. The Prescribe language does print the barcodes from the actual position downwards, but the industry standard is upwards. If a negative size is entered, the bar code is also printed downwards.

PostScript Barcodes: As the postscript data stream is not really parsed, the page and print orientation settings are not interpreted. Therefore, the bar code output from standard SAP is mirrored. Using a negative height, the bar code printout is mirrored back.


B parameter ....#1,#2[,#3,#4]

Bar Widths

#1, bar width, first (thin) width in dots (1/600 inch)
#2, bar width, second width in dots (1/600 inch)

Only for EAN, UPC and Code 128 Barcodes please extend:
#3, bar width, third width in dots (1/600 inch)
#4 bar width, fourth width in dots (1/600 inch)


Example: Thin bars 4 dots, thick bars 8dots: Esc(s4,8B


S parameter ....#1,#2[,#3,#4]s

Space Widths


#1, space width, first (thin) width in dots (1/600 inch)
#2, space width, second width in dots (1/600 inch)

Only for EAN, UPC and Code 128 Barcodes please extend:
#3, space width, third width in dots (1/600 inch)
#4 space width, fourth width in dots (1/600 inch)

Example: Thin spaces 4 dots, thick spaces expand 4 dots: Esc(s4,8,12,16S


Note: The s and b parameters should be specified together. If this is not possible then please specify only the s parameter


T parameter .....#T


24600, UPC-A
24601, UPC-A +2
24602, UPC-A +5
24620, EAN/JAN-8
24621, EAN/JAN-8 +2
24622, EAN/JAN-8 +5
24610, UPC-E
24611, UPC-E +2
24612, UPC-E +5
24630, EAN/JAN-13
24631, EAN/JAN-13 +2
24632, EAN/JAN-13 +5
24640, 25 interleaved
24641, 25 interleaved + CHK
24650, 25 industrial
24651, 25 industrial + CHK
24642, German Postal 25 Leitcode 13
24643, German Postal 25 Identcode 11
24660, 25 matrix
24661, 25 matrix + CHK
24670, Code 39 (3of9)
24671, Code 39 + CHK
24673, 39+CHK encode space b/a data
24680, 39 extended
24672, 39 encode space before/after data
24681, 39 extended + CHK
24675, Danish PTT 39 bar code
24676, French Postal 39 A/R
24805 Netherlands Post bar code
24690, 93
24691, 93 extended
24700, 128 auto switch
24701, 128 A
24702, 128 B
24704, 128 C
24710, UCC-128
24720, EAN 128K
24770, ZIP+4 POSTNET 5
24771, ZIP+4 POSTNET 9
24772, ZIP+4 POSTNET 11
24775, Intelligent Mail Bar code (IMB)
24750, CODABAR
24751, CODABAR +CHKmod16
24644, USPS 25, 11 digits Tray Label
24645, USPS 25, 8 digits Sack Label
24760, MSI
24761, MSI +CHK10
24762, MSI +CHK10+CHK10
24763, MSI +CHK11+CHK10
24785, Australia 4 State 37-CUST
24786, Australia 4 State 52-FF-MET
24787, Australia 4 State 67-FF-MET
24788, Australia 4 State FCC-45 REPLY
24780, Singapore 4 State
24806 RM4SCC of British Post


Non-Industry Standard Barcodes:

24823 Decoding the old UPS bar code 1Z....
24801 German Pharma Zentral Number (PZN7 and PZN8)
24807 German Pharma Zentral Number (PZN8 only, old PZN7 will automatically get a leading ZERO)
24802 US Postal Code FIM bar code
24803 EAN Velocity
24804 UPC 128 shipping container
24810* Code 11
24811* Code 11 Modulo 10
24812* Code 11 Modulo 10 and 11
24817 Code 11
24818 Code 11 Modulo 10
24819 Code 11 Modulo 10 and 11
24805* Netherlands Post bar code
24824 Australia 4 State 37-Routing
24821 Australia 4 State 37-REDI
24822 Australia 4 State 67-FF-MAN

* old version: Those parameters should not be used anymore, instead use the 24805,24806 or 24817 to 24819

Note: Bar code parameters must be combined in a unique PCL font escape sequence.

e.g.: <ESC>(s4p305h24v7,21s7,21b24670T





Please have a look in the ELP Barcodes Technical Reference Manual for detailed parameter description


24800 UPS Maxicode
24820 Data Matrix
24830 Aztec Code(TM)
24850 PDF417
24860 QRCode(TM) Model I
24861 QRCode(TM) Model II
24862 Swiss QRCode(TM)
24863 GS1 QRCode(TM)


Related articles: Barcode Key Description, MS Word Forms & Field Installer, Rule Assistant, Add key to rule