Barcode Bakery Blog

Detailed Barcode Tutorials

Category: 2D Barcodes

Help on 2D barcodes specifically

Updated Graphical Interface

Barcode Generator implemented a new interface which has been available to customers of it’s 1D barcode software. More recently, this graphical interface has been released for 2D barcode systems as well. This new feature will be available to customers who purchase the latest version of a 2D Barcode Generator.

Here is an example of the QRCode graphical interface:

QRCode Example


Adjusting the Height of a PDF417 Barcode

The latest edition of Barcode Generator includes functionality that will allow you to create PDF417 barcodes of different module heights. The documentation states that the row height should be 3 times bigger than the X-dimension (module width). However, some barcode readers can support reading smaller row heights. The larger of the two is the default and the suggested height, but it is possible to condense it if you so desire.

In order to do this, you will need to use the method setScaleY(1) within the BCGpdf417 class.

Recommended Size for PDF417 Barcodes

Recommended Size for PDF417 Barcodes

Condensed Size for PDF417 Barcodes

Condensed Size for PDF417 Barcodes

Scale vs DPI


Scale is the unit used when displaying an image on a computer screen, mobile phone, etc.

When setting the scale to 1, it represents the smallest unit that can be displayed on the screen. In 1D barcodes, this means each vertical black bar will be represented by a one pixel wide line. If you set a scale of 2, the vertical bar will be represented by a two pixel wide line, and so on.

This is the same concept for 2D barcodes: a black bit will be 1×1 pixels for scale of 1, and 2×2 pixels for scale of 2.

As you can see, it is not possible to choose a scale between 1 and 2 since a barcode cannot be written using 1.5 pixel sizes.

The size of the barcode itself will depend on the resolution and screen size of your user. For a same monitor size, if you compare a screen resolution of 1600×1200 and 800×600, the barcode will appear smaller to the eye on the first screen than the second.

This property can be set with the method “setScale(2)” from any barcodes.

As shown below, a larger scale will increase the size of the image displayed.

Scale 2 - DPI 72

Scale 2 – DPI 72

Scale 3 - DPI 72

Scale 3 – DPI 72

DPI (dot per inch)

This unit of scaling is for printing. This will tell your image how many “dots” (pixels) will be printed within one inch on paper. The default value is 72. The value usually used for printing is 300.

If you take two images with the same scaling (the images look exactly the same on the screen) but with a DPI of 72 and a DPI of 300, the first image will appear larger than the second one on paper. However, if your printer supports 300 DPI correctly, the second image will have a better quality than the first one.

This property can be set on the BCGDrawing object with “setDPI(300)”.

Two images of the same scale and different DPI’s will be displayed the same way on a screen:

Scale 3 - DPI 72

Scale 3 – DPI 72

Scale 3 - DPI 300

Scale 3 – DPI 300


If you plan to print your barcode, you must consider the setDPI() method. If you only display the image on the screen, then you would never need to use setDPI() and only the setScale() method.

If you want to have a bigger image than scale 1 but smaller than scale 2, you would need to resize the image with resampling. Doing so will introduce anti-aliasing in your image and possibly problems to read the barcode. Introducing anti-aliasing into an image means one bar for a 1D barcode will not be as clear as 1 pixel; it may be 1 pixel black, and 1 pixel gray.

If you still want to resize your barcode, you can use the method imagecopyresampled() from PHP by getting the image resource from the BCGDrawing with the method get_im().

© 2024 Barcode Bakery Blog

Theme by Anders NorenUp ↑