Advanced report design

Barcode printing

Barcode limitations

In Linux, the qt library (version 2.3) have only a resolution of 100dpi (dots per inches) so with some printer drivers the barcodes printed are not readable, that is because the rectangles of the barcode are slightly bad positioned because this low resolution. If you export the report to Adobe PDF format and print them using Adobe Acrobat Reader you will obtain better quality. You can try to use other printer driver or change the module of the barcode (size of the narrowest rectangle). You can also try to install latest CUPS drivers, it's reported to work better.

Barcodes supported and comments:

Type Description

bcCode_2_5_interleaved, bcCode_2_5_industrial, bcCode_2_5_matrix, bcCodeITF14

2 of 5 code family, supports all properties, this code allow an unlimited number of digits
bcCode39, bcCode39Extended Code39 Family, supports all properties, this code allow an unlimited number of alphanumeric characters, the barcode with is wider than other that only supports digits, if Calc.Checksum is set an additional character checksum is added, the start and stop characters (*) are automatically added.
bcCode128A, bcCode128B, bcCode128C, bcCode128

Code 128 family, A and B allow alphanumeric coding, the B allow also lowercase chars. The C allow only numeric values but gerenerates the narrowest barcode. The bcCode128 generates a B and C mixed barcode, full optimized, so a code like 234534AB generates a 128C segment and a 128B segment, so the barcode is 50% smaller than using 128B.

To generate EAN128 valid codes you must use the application fields and separator digits, you can use the 102 code or any char with a ascii code greater than 102 to represent a separator digit, a EAN128 code always begins with a separator, a sample:


bcCode93, bcCode93Extended Code93 family, alphanumeric barcodes
bcCodeMSI MSI barcodes, only digits
bcCodePostNet Postnet barcode, only digits
bcCodeCodabar Codabar barcode, digits, and A..D letters and some simbols
bcCodeEAN8, bcCodeEAN13 European EAN barcodes, the last digit is a checksum and can be calculated if Calc.Checksum property is set

The Ratio property

Valid ratio values are between 2.0 and 3.0, except for 2_5_matrix between 2.25 and 3.0. Usually the ratio is 2.0 and it's adjusted to 2.25 on 2_5_matrix. Larger the ratio value wider the barcode output.

Calc.Checksum property

Only has effect on EAN8,EAN13 and Code39 barcodes.


The Modul property is used to build the barcode as the size of the narrowest bar.

Rotation property

You can rotate the barcode by a square angle, this property is in degrees.