Generate Data Matrix Barcodes in C# .NET

PSPDFKit GdPicture.NET Library enables you to generate one-dimensional (1D or linear) and two-dimensional (2D) barcodes.

GdPicture.NET supports all 1D barcode formats and the following 2D barcode formats:

  • Aztec Code
  • Data Matrix
  • MaxiCode
  • Micro QR
  • PDF417
  • QR

To generate a Data Matrix barcode, follow these steps:

  1. Create a GdPictureImaging object.

  2. Set the encoding mode of the barcode with the BarcodeDataMatrixEncodingMode enumeration, and store it in a variable. Use BarcodeDataMatrixEncodingModeUndefined to let the engine determine the most appropriate encoding mode for the input data.

  3. Set the version of the barcode with the BarcodeDataMatrixVersion enumeration, and store it in a variable. Use BarcodeDataMatrixVersionAuto to let the engine determine the minimum version required to encode all input data.

  4. Compute the size of the barcode with the BarcodeDataMatrixGetSize method of the GdPictureImaging object. This method takes the following parameters:

    • The data encoded in the barcode.

    • The encoding mode.

    • The version of the barcode.

    • The number of modules considered quiet zone around the barcode. The recommended value is 4 or more.

    • The size of each module in pixels. The recommended value is 4 or more.

    • An output parameter that defines the width of the barcode.

    • An output parameter that defines the height of the barcode.

  5. Create an empty GdPicture image with the CreateNewGdPictureImage method of the GdPictureImaging object. This method takes the following parameters:

    • The width of the image in pixels.

    • The height of the image in pixels.

    • The bit depth of the image.

    • The background color of the image. Use the ARGB method of the GdPictureImaging object to specify the color with the ARGB standard. For example, for a white background, set gdpictureImaging.ARGB(255, 255, 255).

  6. Write the barcode to the empty image with the BarcodeDataMatrixWrite method of the GdPictureImaging object. This method takes the following parameters:

    • The image ID of the newly created image.

    • The data encoded in the barcode.

    • The encoding mode.

    • The version of the barcode.

    • The number of modules considered quiet zone around the barcode. The recommended value is 4 or more.

    • The size of each module in pixels. The recommended value is 4 or more.

    • The distance between the left side of the image and the barcode in pixels.

    • The distance between the top side of the image and the barcode in pixels.

    • The angle of the barcode.

    • The color of the symbols on the barcode. Use the ARGB method of the GdPictureImaging object to specify the color with the ARGB standard. For example, for black, set gdpictureImaging.ARGB(0, 0, 0).

    • The background color of the barcode. Use the ARGB method of the GdPictureImaging object to specify the color with the ARGB standard. For example, for white, set gdpictureImaging.ARGB(255, 255, 255).

  7. Save the image as a PNG file with the SaveAsPNG method of the GdPictureImaging object.

  8. Release unnecessary resources.

The example below generates a Data Matrix barcode:

using GdPictureImaging gdpictureImaging = new GdPictureImaging();
// Set the encoding mode of the barcode.
BarcodeDataMatrixEncodingMode encodingMode = BarcodeDataMatrixEncodingMode.BarcodeDataMatrixEncodingModeUndefined;
// Set the version of the barcode.
BarcodeDataMatrixVersion version = BarcodeDataMatrixVersion.BarcodeDataMatrixVersionAuto;
// Compute the size of the barcode.
gdpictureImaging.BarcodeDataMatrixGetSize("0123456789", encodingMode, ref version, 4, 8, out int width, out int height);
// Create an empty GdPicture image.
int imageID = gdpictureImaging.CreateNewGdPictureImage(width, height, 32, gdpictureImaging.ARGB(255, 255, 255));
// Write the barcode to the empty image.
gdpictureImaging.BarcodeDataMatrixWrite(imageID, "0123456789", encodingMode, ref version, 4, 8, 0, 0, 0, gdpictureImaging.ARGB(0, 0, 0), gdpictureImaging.ARGB(255, 255, 255));
// Save the image as a PNG file.
gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");
// Release unnecessary resources.
gdpictureImaging.ReleaseGdPictureImage(imageID);
Using gdpictureImaging As GdPictureImaging = New GdPictureImaging()
    ' Set the encoding mode of the barcode.
    Dim encodingMode As BarcodeDataMatrixEncodingMode = BarcodeDataMatrixEncodingMode.BarcodeDataMatrixEncodingModeUndefined
    ' Set the version of the barcode.
    Dim version As BarcodeDataMatrixVersion = BarcodeDataMatrixVersion.BarcodeDataMatrixVersionAuto
    ' Compute the size of the barcode.
    Dim width As Integer = Nothing, height As Integer = Nothing
    gdpictureImaging.BarcodeDataMatrixGetSize("0123456789", encodingMode, version, 4, 8, width, height)
    ' Create an empty GdPicture image.
    Dim imageID As Integer = gdpictureImaging.CreateNewGdPictureImage(width, height, 32, gdpictureImaging.ARGB(255, 255, 255))
    ' Write the barcode to the empty image.
    gdpictureImaging.BarcodeDataMatrixWrite(imageID, "0123456789", encodingMode, version, 4, 8, 0, 0, 0, gdpictureImaging.ARGB(0, 0, 0), gdpictureImaging.ARGB(255, 255, 255))
    ' Save the image as a PNG file.
    gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png")
    ' Release unnecessary resources.
    gdpictureImaging.ReleaseGdPictureImage(imageID)
End Using
Used Methods and Properties

Related Topics