BARCODE Generator Description

This 1D- and 2D barcode generator enriches many Linux or UNIX* application with the capability of printing many different 1D and 2D barcodes. You can find a PDF example here.

Basic requirement is the use of laser printers, "talking" PCL* 5e like HP-LJ4* etc.  This tool offers an affordable and easy way of printing barcodes without adding any physical components. It trades standard input (stdin) as printable data and scans it for special barcode command sequences. While this special sequence does not appear in the input stream, data is copied to standard output (stdout) without any modification. Once BARCODE recognizes the command sequence, an appropriate barcode is generated and inserted into the output stream in form of PCL*- commands. For printing a barcode on UNIX* (or Linux*) platforms, just replace the original print command with a shell script, containing the following line:

cat $1 | barcode [-# <registration id>] | lpr -o raw

Without paramter -# , data and text will  be scrambled from time to time (demo mode).

The following command syntax will then be interpreted as a barcode command:

!R! BARCODE <mode>,"<text>","<data>",<x>,<y>,<width>,<height>,<rotation>,<options>;EXIT;


2D symbologies (QR code only):
  0 = (default) Error correction Level L
+1 = Error correction Level M
+2 = Error correction Level Q
+3 = Error correction Level H
+8 = Mode 8 bit (mandatory!)

Printing density (DPI) for dot matrix printers may be adjusted by adding one of the following values:

value DPI Pins Description
    +0  60  8 Einfache Dichte
+16  120  8 Doppelte Dichte, hohe Geschwindigkeit
+32  120  8 Doppelte Dichte
+48  240  8 Vierfache Dichte
+64  80  8 CRT I
+80  90  8 CRT II
+96  60  24 Einfache Dichte
+112  120  24 Doppelte Dichte
+128  90  24 CRT III
+144  180  24 Dreifache Dichte
+160   360  24 Sechsfache Dichte


For example: Dot matrix printing (+1024) a barcode with checksum (+1) and density 360 DPI (+160) will need an option value of 1185.

Sample inline call sequence:

This demotext will be followed by a QR Code. 
!R! BARCODE 128, " ", "I'm a 50mmm width QR-Code in 8-bit mode and error correction M (options=1+8=9)", -40, 20, 50, 0, 0, 9; EXIT;